/* 合礼积分商城 */
.pm-page{background:#f5f5f5;padding:20px 0 48px;color:#222;}
.pm-wrap{width:1200px;margin:0 auto;}
.pm-layout{display:flex;align-items:flex-start;gap:16px;}
.pm-side{width:280px;flex:0 0 280px;display:flex;flex-direction:column;gap:12px;}
.pm-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;}

.pm-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.pm-card-tit{font-size:15px;font-weight:700;color:#222;padding:14px 16px 0;}

/* user */
.pm-user-hd{background:#ca1c1d;color:#fff;font-size:15px;font-weight:700;height:44px;line-height:44px;padding:0 16px;}
.pm-user-bd{padding:16px;}
.pm-user-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.pm-avatar{
	width:52px;height:52px;border-radius:50%;background:#f0f0f0;color:#999;
	display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 52px;font-size:22px;
}
.pm-avatar img{width:100%;height:100%;object-fit:cover;}
.pm-hello{margin:0 0 6px;font-size:14px;color:#333;font-weight:600;line-height:1.3;}
.pm-vip{
	display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;
	background:#fff4e8;color:#d48806;border:1px solid #ffe0b0;
}
.pm-login-link{font-size:13px;color:#ca1c1d;}
.pm-points-box{
	display:flex;align-items:flex-end;justify-content:space-between;
	padding:12px 14px;background:#fff8f8;border-radius:8px;margin-bottom:14px;
}
.pm-points-label{display:block;font-size:12px;color:#888;margin-bottom:4px;}
.pm-points-num{font-size:28px;line-height:1;color:#f08c00;font-weight:800;}
.pm-points-link{font-size:12px;color:#999;white-space:nowrap;}
.pm-points-link:hover{color:#ca1c1d;}
.pm-quick{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;}
.pm-quick a{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:#666;}
.pm-quick i{width:36px;height:36px;border-radius:50%;background:#f7f7f7;color:#ca1c1d;
	display:flex;align-items:center;justify-content:center;font-size:15px;}
.pm-quick a:hover{color:#ca1c1d;}

/* promo */
.pm-card.pm-promo{
	position:relative;
	background:#fff8f6;
	color:#333;
	padding:20px 16px 18px;
	text-align:center;
	min-height:176px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	border:2px solid #ca1c1d;
	box-shadow:none;
	box-sizing:border-box;
}
.pm-card.pm-promo:before{
	content:"";
	position:absolute;
	right:-12px;
	bottom:-16px;
	width:128px;
	height:128px;
	background:url(/upload/landing/gift-box-hero-clean.jpg) right bottom/cover no-repeat;
	opacity:.22;
	pointer-events:none;
}
.pm-card.pm-promo:after{
	content:"";
	position:absolute;
	inset:6px;
	border:1px dashed #e8a0a0;
	pointer-events:none;
}
.pm-promo h3,
.pm-promo p,
.pm-promo strong{position:relative;z-index:1;}
.pm-promo h3{
	margin:0 0 8px;
	font-size:16px;
	font-weight:700;
	line-height:1.4;
	color:#ca1c1d;
}
.pm-promo-max{
	margin:0;
	font-size:12px;
	color:#888;
	letter-spacing:.5px;
}
.pm-promo-num{
	display:block;
	margin:2px 0 0;
	font-size:48px;
	line-height:1.05;
	font-weight:800;
	color:#15306e;
	letter-spacing:1px;
}
.pm-promo-unit{
	margin:4px 0 0;
	font-size:13px;
	color:#888;
}

.pm-btn-red{
	display:inline-flex;align-items:center;justify-content:center;
	height:34px;padding:0 18px;border-radius:4px;background:#ca1c1d;color:#fff!important;
	font-size:13px;font-weight:600;border:0;cursor:pointer;text-decoration:none;
}
.pm-btn-red:hover{background:#b01818;color:#fff!important;}
.pm-btn-line{
	display:block;margin:12px 16px 16px;height:34px;line-height:32px;text-align:center;
	border:1px solid #ddd;border-radius:4px;color:#666;font-size:13px;text-decoration:none;
}
.pm-btn-line:hover{border-color:#ca1c1d;color:#ca1c1d;}

/* guide */
.pm-guide-list{list-style:none;margin:10px 0 0;padding:0 16px;}
.pm-guide-list li{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed #eee;}
.pm-guide-list li:last-child{border-bottom:0;}
.pm-guide-list em{
	flex:0 0 28px;height:28px;border-radius:50%;background:#fff1f0;color:#ca1c1d;
	font-style:normal;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.pm-guide-list strong{display:block;font-size:13px;color:#222;margin-bottom:2px;}
.pm-guide-list span{font-size:12px;color:#999;}

/* levels */
.pm-level-list{list-style:none;margin:8px 0 0;padding:0 16px;}
.pm-level-list li{
	display:flex;align-items:center;justify-content:space-between;
	padding:10px 0;border-bottom:1px solid #f2f2f2;font-size:13px;
}
.pm-level-list li:last-child{border-bottom:0;}
.pm-level-list strong{font-weight:600;color:#333;}
.pm-level-list span{color:#999;font-size:12px;}
.pm-level-list li.on strong{color:#3b6fd9;}
.pm-level-list li.on span{color:#3b6fd9;}
.pm-level-more{display:block;padding:10px 16px 14px;font-size:12px;color:#999;}
.pm-level-more:hover{color:#ca1c1d;}

/* hero */
.pm-hero{
	position:relative;min-height:180px;border-radius:8px;overflow:hidden;
	background:linear-gradient(110deg,#d91f1f 0%,#ca1c1d 45%,#a81414 100%);
	color:#fff;display:flex;align-items:center;padding:28px 32px;
}
.pm-hero-copy{position:relative;z-index:1;max-width:520px;}
.pm-hero h1{margin:0 0 8px;font-size:34px;font-weight:800;letter-spacing:1px;}
.pm-hero-copy > p{margin:0 0 18px;font-size:15px;opacity:.92;}
.pm-hero-feats{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap;}
.pm-hero-feats li{display:flex;align-items:center;gap:8px;font-size:13px;}
.pm-hero-feats i{
	width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);
	display:flex;align-items:center;justify-content:center;font-size:12px;
}
.pm-hero-art{
	position:absolute;right:0;top:0;bottom:0;width:52%;
	pointer-events:none;display:flex;align-items:flex-end;justify-content:flex-end;
}
.pm-hero-art img{
	display:block;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:right bottom;
	-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 100%);
	mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 100%);
}

/* categories */
.pm-cats{
	display:flex;align-items:stretch;justify-content:space-between;gap:6px;
	background:#fff;border-radius:8px;padding:14px 10px;box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.pm-cat{flex:1;min-width:0;text-align:center;text-decoration:none;color:#555;}
.pm-cat-ico{
	width:48px;height:48px;margin:0 auto 8px;border-radius:50%;border:1px solid #eee;
	display:flex;align-items:center;justify-content:center;font-size:18px;color:#666;background:#fafafa;
	transition:all .15s ease;
}
.pm-cat em{display:block;font-style:normal;font-size:12px;line-height:1.2;}
.pm-cat:hover .pm-cat-ico,.pm-cat.on .pm-cat-ico{border-color:#ca1c1d;color:#ca1c1d;background:#fff5f5;}
.pm-cat.on em,.pm-cat:hover em{color:#ca1c1d;}

/* toolbar */
.pm-toolbar{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	background:#fff;border-radius:8px;padding:10px 14px;box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.pm-sorts{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.pm-sorts a{
	padding:6px 12px;border-radius:4px;font-size:13px;color:#666;text-decoration:none;
}
.pm-sorts a.on,.pm-sorts a:hover{background:#fff1f0;color:#ca1c1d;}
.pm-search{display:flex;align-items:center;gap:8px;}
.pm-search input{
	width:200px;height:34px;border:1px solid #e5e5e5;border-radius:4px;padding:0 10px;font-size:13px;
}
.pm-search button{
	height:34px;padding:0 14px;border:1px solid #ca1c1d;background:#ca1c1d;color:#fff;
	border-radius:4px;font-size:13px;cursor:pointer;
}
.pm-search button:hover{background:#b01818;}
.pm-search-clear{
	display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid #ddd;
	border-radius:4px;color:#666;font-size:13px;text-decoration:none;background:#fff;box-sizing:border-box;
}
.pm-search-clear:hover{border-color:#ca1c1d;color:#ca1c1d;}

/* grid */
.pm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.pm-item{
	background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);
	display:flex;flex-direction:column;transition:box-shadow .15s ease,transform .15s ease;
}
.pm-item:hover{box-shadow:0 8px 20px rgba(0,0,0,.08);transform:translateY(-2px);}
.pm-item-img{position:relative;display:block;aspect-ratio:1;background:#fafafa;overflow:hidden;}
.pm-item-img img{width:100%;height:100%;object-fit:contain;display:block;}
.pm-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ddd;font-size:36px;}
.pm-tag{
	position:absolute;left:8px;top:8px;z-index:1;padding:2px 8px;border-radius:3px;
	font-size:12px;color:#fff;background:#f0a020;
}
.pm-tag.is-hot{background:#ca1c1d;}
.pm-item-body{padding:12px 12px 14px;display:flex;flex-direction:column;flex:1;}
.pm-item-body h3{margin:0 0 6px;font-size:14px;font-weight:700;line-height:1.35;max-height:2.7em;overflow:hidden;}
.pm-item-body h3 a{color:#222;text-decoration:none;}
.pm-item-body h3 a:hover{color:#ca1c1d;}
.pm-item-body > p{margin:0 0 10px;font-size:12px;color:#999;line-height:1.4;min-height:1.4em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.pm-item-price{margin-bottom:12px;}
.pm-item-price strong{display:block;font-size:20px;color:#ca1c1d;font-weight:800;line-height:1.1;}
.pm-item-price small{font-size:12px;font-weight:600;}
.pm-item-actions{display:flex;align-items:center;gap:8px;margin-top:auto;}
.pm-redeem{
	flex:1;height:32px;line-height:30px;text-align:center;border:1px solid #ca1c1d;
	border-radius:4px;color:#ca1c1d;font-size:13px;font-weight:600;text-decoration:none;
}
.pm-redeem:hover{background:#ca1c1d;color:#fff;}
.pm-cart{
	width:32px;height:32px;border-radius:50%;background:none;border:1px solid #ca1c1d;color:#ca1c1d!important;
	display:flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none;box-sizing:border-box;
}
.pm-cart:hover{background:none;border-color:#b01819;color:#b01819!important;}

.pm-empty{
	background:#fff;border-radius:8px;padding:64px 20px;text-align:center;color:#999;
	box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.pm-empty i{font-size:40px;margin-bottom:12px;display:block;color:#ddd;}
.pm-empty p{margin:0 0 16px;font-size:14px;line-height:1.6;}

.pm-pager.dede_pages{
	padding:22px 0 8px;
	text-align:center;
	line-height:normal;
	clear:both;
}
.pm-pager .dede_pages_a{
	float:none;
	display:inline-block;
	clear:both;
	height:auto;
	line-height:40px;
}
.pm-pager .dede_pages_a ul.pagination,
.pm-pager ul.pagination{
	margin:0;
	padding:0;
	list-style:none;
	display:inline-block;
	height:auto;
	text-align:center;
}
.pm-pager .dede_pages_a ul li,
.pm-pager ul.pagination > li{
	display:inline-block;
	float:none;
	height:auto;
	margin:0 4px;
	padding:0;
	vertical-align:middle;
	overflow:visible;
	white-space:nowrap;
}
.pm-pager .dede_pages_a ul li a,
.pm-pager .dede_pages_a ul li span,
.pm-pager ul.pagination > li > a,
.pm-pager ul.pagination > li > span{
	display:inline-block;
	min-width:40px;
	height:36px;
	line-height:34px;
	padding:0 14px;
	margin:0;
	box-sizing:border-box;
	border:1px solid #e8e8e8;
	border-radius:4px;
	background:#fff;
	color:#666;
	font-size:14px;
	text-align:center;
	text-decoration:none;
	overflow:hidden;
	vertical-align:middle;
}
.pm-pager .dede_pages_a ul li a:hover,
.pm-pager ul.pagination > li > a:hover{
	border-color:#ca1c1d;
	background:#fff5f5;
	color:#ca1c1d;
}
.pm-pager .dede_pages_a ul li.active a,
.pm-pager ul.pagination > li.active > a,
.pm-pager ul.pagination > li.active > span{
	border-color:#ca1c1d;
	background:#ca1c1d;
	color:#fff;
	font-weight:700;
}
.pm-pager .dede_pages_a ul li.disabled span,
.pm-pager ul.pagination > li.disabled > span,
.pm-pager ul.pagination > li.disabled > a{
	border-color:#eee;
	background:#f7f7f7;
	color:#bbb;
	cursor:default;
}

/* earn bar */
.pm-earn{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	background:#fff1f0;border-radius:8px;padding:18px 22px;margin-top:4px;
}
.pm-earn-copy strong{display:block;font-size:16px;color:#ca1c1d;margin-bottom:4px;}
.pm-earn-copy span{font-size:13px;color:#888;}
.pm-earn-list{list-style:none;margin:0;padding:0;display:flex;gap:28px;}
.pm-earn-list li{display:flex;align-items:center;gap:8px;font-size:13px;color:#666;}
.pm-earn-list i{
	width:34px;height:34px;border-radius:50%;background:#fff;color:#ca1c1d;
	display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(202,28,29,.12);
}

@media (max-width:1220px){
	.pm-wrap{width:auto;padding:0 12px;}
	.pm-layout{flex-direction:column;}
	.pm-side{width:100%;flex:none;}
	.pm-grid{grid-template-columns:repeat(2,1fr);}
	.pm-cats{flex-wrap:wrap;}
	.pm-cat{flex:0 0 25%;margin-bottom:8px;}
	.pm-toolbar{flex-direction:column;align-items:stretch;}
	.pm-search input{width:100%;}
	.pm-earn{flex-direction:column;align-items:flex-start;}
	.pm-earn-list{flex-wrap:wrap;gap:12px 20px;}
}
