/* 好物商城：白底电商视图（与全站深色首页区分） */
body.mall-shop-page{
	background:#eef2f7;
	color:#0f172a;
}

.mall-shop-main{
	max-width:1040px;
	margin:0 auto;
	padding:16px 16px 88px;
	box-sizing:border-box;
}

.mall-shop-hero{
	background:#fff;
	border-radius:16px;
	padding:20px 18px 18px;
	border:1px solid #e2e8f0;
	box-shadow:0 4px 24px rgba(15,23,42,.06);
	margin-bottom:16px;
}

.mall-shop-hero h1{
	margin:0 0 8px;
	font-size:22px;
	font-weight:700;
	color:#0f172a;
	letter-spacing:.02em;
}

.mall-shop-hero .mall-shop-lead{
	margin:0;
	font-size:14px;
	line-height:1.55;
	color:#475569;
}

.mall-shop-cross{
	margin-top:12px;
	font-size:13px;
	color:#64748b;
}

.mall-shop-cross a{
	color:#be123c;
	font-weight:600;
	text-decoration:none;
}

.mall-shop-cross a:hover{
	text-decoration:underline;
}

.mall-shop-filters{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:14px;
}

.mall-shop-filters button{
	appearance:none;
	border:1px solid #cbd5e1;
	background:#fff;
	color:#475569;
	font-size:13px;
	font-weight:600;
	padding:8px 14px;
	border-radius:999px;
	cursor:pointer;
	transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
}

.mall-shop-filters button:hover{
	border-color:#fda4af;
	color:#be123c;
}

.mall-shop-filters button.is-active{
	background:linear-gradient(135deg,#fff1f2,#fce7f3);
	border-color:#fb7185;
	color:#9f1239;
	box-shadow:0 2px 10px rgba(225,29,72,.12);
}

.mall-shop-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:12px;
	margin:0;
	padding:0;
}

@media(min-width:640px){
	.mall-shop-grid{
		grid-template-columns:repeat(3,1fr);
		gap:14px;
	}
}

@media(min-width:900px){
	.mall-shop-grid{
		grid-template-columns:repeat(4,1fr);
	}
}

.mall-shop-card{
	display:flex;
	flex-direction:column;
	background:#fff;
	border:1px solid #e2e8f0;
	border-radius:14px;
	overflow:hidden;
	text-decoration:none;
	color:inherit;
	box-shadow:0 2px 12px rgba(15,23,42,.05);
	transition:transform .18s,box-shadow .18s,border-color .18s;
	min-height:100%;
}

.mall-shop-card:hover{
	transform:translateY(-2px);
	box-shadow:0 10px 28px rgba(15,23,42,.1);
	border-color:#fecdd3;
}

.mall-shop-card:focus-visible{
	outline:2px solid #e11d48;
	outline-offset:2px;
}

.mall-shop-card-badge{
	align-self:flex-start;
	margin:10px 10px 0;
	font-size:11px;
	font-weight:700;
	padding:3px 8px;
	border-radius:6px;
	background:#f1f5f9;
	color:#475569;
}

.mall-shop-card-badge--digital{
	background:#ede9fe;
	color:#5b21b6;
}

.mall-shop-card-badge--service{
	background:#dbeafe;
	color:#1e40af;
}

.mall-shop-card-badge--physical{
	background:#ffedd5;
	color:#9a3412;
}

.mall-shop-card-media{
	aspect-ratio:1;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#f8fafc;
	border-bottom:1px solid #f1f5f9;
}

.mall-shop-card-media img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.mall-shop-promo-img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.mall-shop-card-icon{
	font-size:42px;
	line-height:1;
}

.mall-shop-card-body{
	padding:12px 12px 14px;
	flex:1;
	display:flex;
	flex-direction:column;
	gap:6px;
}

.mall-shop-card-title{
	font-size:15px;
	font-weight:700;
	margin:0;
	color:#0f172a;
	line-height:1.35;
}

.mall-shop-card-desc{
	font-size:12px;
	color:#64748b;
	line-height:1.45;
	margin:0;
	flex:1;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

.mall-shop-card-price-row{
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:8px;
	margin-top:4px;
}

.mall-shop-price{
	font-size:18px;
	font-weight:800;
	color:#e11d48;
}

.mall-shop-price-was{
	font-size:13px;
	color:#94a3b8;
	text-decoration:line-through;
}

.mall-shop-card-cta{
	font-size:12px;
	font-weight:600;
	color:#be123c;
	margin-top:4px;
}

.mall-shop-footnote{
	margin-top:20px;
	font-size:12px;
	color:#64748b;
	line-height:1.5;
	padding:0 4px;
}

.mall-shop-footnote a{
	color:#be123c;
	font-weight:600;
	text-decoration:none;
}

.mall-shop-footnote a:hover{
	text-decoration:underline;
}

.mall-shop-empty{
	grid-column:1/-1;
	text-align:center;
	padding:36px 16px;
	color:#64748b;
	font-size:14px;
	background:#fff;
	border-radius:14px;
	border:1px dashed #cbd5e1;
}

.app-footer{
	color:#64748b;
}

/* 手机壁纸卖场：触底加载提示与哨兵（IntersectionObserver） */
.wallpaper-shop-load-hint{
	text-align:center;
	font-size:13px;
	color:#64748b;
	margin:12px 0 6px;
	min-height:1.35em;
	line-height:1.4;
}
.wallpaper-shop-sentinel{
	height:56px;
	width:100%;
	pointer-events:none;
	flex-shrink:0;
}
