/* 购买套餐列表：卡片栅格 + 无限滚动，沿用全站 token，不改支付逻辑。 */
.buy-shop{padding-bottom:48px;max-width:var(--ui-content);}
.buy-shop-alert{margin-bottom:20px;}
.buy-shop-notice{margin-bottom:28px;}

.buy-package-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:28px;
	align-items:stretch;
	width:100%;
}
.buy-package-grid>.buy-card{min-width:0;max-width:100%;}
@media(max-width:1199px){
	.buy-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
}
@media(max-width:767px){
	.buy-package-grid{grid-template-columns:minmax(0,1fr);gap:18px;}
}

.buy-card{
	display:flex;
	flex-direction:column;
	min-height:100%;
	margin:0;
	overflow:hidden;
	border:1px solid var(--c-border);
	border-radius:var(--radius-card);
	background:var(--c-card);
	box-shadow:var(--shadow);
	transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.buy-card:hover{
	border-color:#c7d9cd;
	box-shadow:var(--shadow-lg);
	transform:translateY(-2px);
}
@media(prefers-reduced-motion:reduce){
	.buy-card,.buy-card:hover{transition:none;transform:none;}
}

.buy-card-media{
	position:relative;
	height:148px;
	overflow:hidden;
	/* tone 0：松针绿（默认） */
	background:
		radial-gradient(120% 80% at 12% 0%,rgba(255,255,255,.55),transparent 55%),
		linear-gradient(145deg,#1f5f4d 0%,#2d8a6e 48%,#174e40 100%);
}
.buy-card-media::after{
	content:"";
	position:absolute;
	inset:auto -20% -40% 20%;
	height:120%;
	background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.16),transparent 60%);
	pointer-events:none;
}
.buy-card-media-inner{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	height:100%;
	padding:28px 22px 20px;
}
.buy-card-media-title{
	margin:0;
	max-width:100%;
	color:#fff;
	font-size:clamp(22px,2.6vw,28px);
	font-weight:700;
	line-height:1.25;
	letter-spacing:-.03em;
	text-align:center;
	text-shadow:0 2px 18px rgba(10,40,30,.28);
	overflow-wrap:anywhere;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
/* 产品授权色板：松针绿 / 海蓝 / 青铜等 */
.buy-card[data-tone="0"] .buy-card-media,
.buy-card[data-palette="license"][data-tone="0"] .buy-card-media{
	background:
		radial-gradient(120% 80% at 12% 0%,rgba(255,255,255,.55),transparent 55%),
		linear-gradient(145deg,#1f5f4d 0%,#2d8a6e 48%,#174e40 100%);
}
.buy-card[data-tone="0"] .buy-card-badge,
.buy-card[data-palette="license"][data-tone="0"] .buy-card-badge{color:#174e40;}
.buy-card[data-tone="1"] .buy-card-media,
.buy-card[data-palette="license"][data-tone="1"] .buy-card-media{
	background:
		radial-gradient(120% 80% at 88% 0%,rgba(255,255,255,.42),transparent 52%),
		linear-gradient(145deg,#1e4f6a 0%,#3a7ea0 48%,#163a50 100%);
}
.buy-card[data-tone="1"] .buy-card-badge,
.buy-card[data-palette="license"][data-tone="1"] .buy-card-badge{color:#1e4f6a;}
.buy-card[data-tone="2"] .buy-card-media,
.buy-card[data-palette="license"][data-tone="2"] .buy-card-media{
	background:
		radial-gradient(120% 80% at 18% 0%,rgba(255,255,255,.45),transparent 55%),
		linear-gradient(145deg,#6a4a1e 0%,#b07a32 48%,#4a3214 100%);
}
.buy-card[data-tone="2"] .buy-card-badge,
.buy-card[data-palette="license"][data-tone="2"] .buy-card-badge{color:#6a4a1e;}
.buy-card[data-tone="3"] .buy-card-media,
.buy-card[data-palette="license"][data-tone="3"] .buy-card-media{
	background:
		radial-gradient(120% 80% at 80% 0%,rgba(255,255,255,.4),transparent 50%),
		linear-gradient(145deg,#1f5a5c 0%,#3a8a8c 48%,#143e40 100%);
}
.buy-card[data-tone="3"] .buy-card-badge,
.buy-card[data-palette="license"][data-tone="3"] .buy-card-badge{color:#1f5a5c;}
.buy-card[data-tone="4"] .buy-card-media,
.buy-card[data-palette="license"][data-tone="4"] .buy-card-media{
	background:
		radial-gradient(120% 80% at 14% 0%,rgba(255,255,255,.48),transparent 55%),
		linear-gradient(145deg,#6b2f3a 0%,#a04d5c 48%,#4a2028 100%);
}
.buy-card[data-tone="4"] .buy-card-badge,
.buy-card[data-palette="license"][data-tone="4"] .buy-card-badge{color:#6b2f3a;}
.buy-card[data-tone="5"] .buy-card-media,
.buy-card[data-palette="license"][data-tone="5"] .buy-card-media{
	background:
		radial-gradient(120% 80% at 86% 0%,rgba(255,255,255,.42),transparent 52%),
		linear-gradient(145deg,#3d4a2a 0%,#6a7d45 48%,#2a331c 100%);
}
.buy-card[data-tone="5"] .buy-card-badge,
.buy-card[data-palette="license"][data-tone="5"] .buy-card-badge{color:#3d4a2a;}

/* 人工服务色板：与产品授权区分（靛紫 / 石板 / 琥珀 / 玫红 / 青瓷 / 石墨） */
.buy-card[data-palette="service"][data-tone="0"] .buy-card-media{
	background:
		radial-gradient(120% 90% at 80% 10%,rgba(255,255,255,.38),transparent 55%),
		linear-gradient(160deg,#3b2f6b 0%,#6350a8 46%,#2a2150 100%);
}
.buy-card[data-palette="service"][data-tone="0"] .buy-card-badge{color:#3b2f6b;}
.buy-card[data-palette="service"][data-tone="1"] .buy-card-media{
	background:
		radial-gradient(120% 90% at 12% 0%,rgba(255,255,255,.34),transparent 52%),
		linear-gradient(160deg,#2f3d4f 0%,#5a6f86 48%,#1e2936 100%);
}
.buy-card[data-palette="service"][data-tone="1"] .buy-card-badge{color:#2f3d4f;}
.buy-card[data-palette="service"][data-tone="2"] .buy-card-media{
	background:
		radial-gradient(120% 90% at 88% 8%,rgba(255,255,255,.36),transparent 54%),
		linear-gradient(160deg,#7a4a18 0%,#c4843a 48%,#543210 100%);
}
.buy-card[data-palette="service"][data-tone="2"] .buy-card-badge{color:#7a4a18;}
.buy-card[data-palette="service"][data-tone="3"] .buy-card-media{
	background:
		radial-gradient(120% 90% at 16% 0%,rgba(255,255,255,.34),transparent 52%),
		linear-gradient(160deg,#6e2d4a 0%,#b04f74 48%,#4a1c32 100%);
}
.buy-card[data-palette="service"][data-tone="3"] .buy-card-badge{color:#6e2d4a;}
.buy-card[data-palette="service"][data-tone="4"] .buy-card-media{
	background:
		radial-gradient(120% 90% at 84% 0%,rgba(255,255,255,.36),transparent 54%),
		linear-gradient(160deg,#1f5c62 0%,#3f9aa3 48%,#143f44 100%);
}
.buy-card[data-palette="service"][data-tone="4"] .buy-card-badge{color:#1f5c62;}
.buy-card[data-palette="service"][data-tone="5"] .buy-card-media{
	background:
		radial-gradient(120% 90% at 18% 8%,rgba(255,255,255,.3),transparent 52%),
		linear-gradient(160deg,#3a3a42 0%,#6a6a76 48%,#24242c 100%);
}
.buy-card[data-palette="service"][data-tone="5"] .buy-card-badge{color:#3a3a42;}

/* 人工服务卡：说明含条款/计价，禁止 3 行截断，完整可读 */
.buy-card[data-type="service"] .buy-card-desc-only{
	margin:0;
	min-height:0;
	max-height:none;
	color:#4b6357;
	font-size:13px;
	line-height:1.7;
	display:block;
	overflow:visible;
	-webkit-line-clamp:unset;
	-webkit-box-orient:unset;
	white-space:normal;
}
.buy-card[data-type="service"] .buy-card-desc-block{
	display:flex;
	flex-direction:column;
	gap:10px;
	margin:0;
	min-width:0;
}
.buy-card[data-type="service"] .buy-card-desc-lead{
	margin:0;
	color:#4b6357;
	font-size:13px;
	line-height:1.7;
	overflow-wrap:anywhere;
}
.buy-card[data-type="service"] .buy-card-desc-section{
	margin:0;
	padding:10px 12px;
	border-radius:10px;
	background:rgba(47,107,92,.06);
	border:1px solid rgba(47,107,92,.1);
}
.buy-card[data-type="service"] .buy-card-desc-section-title{
	display:block;
	margin:0 0 6px;
	color:var(--c-primary-dark,#2f6b5c);
	font-size:12px;
	font-weight:700;
	letter-spacing:.02em;
}
.buy-card[data-type="service"] .buy-card-desc-list{
	margin:0;
	padding:0 0 0 1.15em;
	color:#3d5348;
	font-size:12.5px;
	line-height:1.75;
}
.buy-card[data-type="service"] .buy-card-desc-list li{margin:0 0 2px;}
.buy-card[data-type="service"] .buy-card-desc-note{
	margin:0;
	color:#3d5348;
	font-size:12.5px;
	line-height:1.75;
	overflow-wrap:anywhere;
}
.buy-card[data-type="service"] .buy-card-rich{
	color:#4b6357;
	font-size:13px;
	line-height:1.7;
}
.buy-card[data-type="service"] .buy-card-rich p{margin:0 0 .55em;}
.buy-card[data-type="service"] .buy-card-rich p:last-child{margin-bottom:0;}
.buy-card[data-type="service"] .buy-card-rich ul,
.buy-card[data-type="service"] .buy-card-rich ol{margin:.2em 0 .55em;padding-left:1.3em;}
.buy-card[data-type="service"] .buy-card-rich li{margin:0 0 .2em;}
.buy-card[data-type="service"] .buy-card-main{padding-top:2px;}
.buy-card-badge{
	position:absolute;
	top:14px;
	left:14px;
	z-index:2;
	padding:4px 10px;
	border-radius:999px;
	background:rgba(255,255,255,.92);
	color:var(--c-primary-dark);
	font-size:11px;
	font-weight:600;
	letter-spacing:.04em;
}

.buy-card-body{
	display:flex;
	flex-direction:column;
	flex:1 1 auto;
	padding:22px 22px 20px;
	gap:14px;
	min-height:0;
}
.buy-card-main{
	display:flex;
	flex-direction:column;
	flex:1 1 auto;
	gap:6px;
	min-width:0;
}
.buy-card-main .buy-card-meta{margin-top:8px;}
.buy-card-foot{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin-top:auto;
	padding-top:4px;
	flex:0 0 auto;
}
.buy-card-foot>.ui-package-label{margin-bottom:0;}
.buy-card-foot>.product-plan{margin:0;}
.buy-card-quick{
	width:100%;
	min-height:44px;
	margin-top:4px;
	font-weight:600;
	letter-spacing:.02em;
}
.buy-quick-dialog[hidden]{display:none!important;}
.buy-quick-dialog{
	position:fixed;
	inset:0;
	z-index:2000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
}
.buy-quick-dialog-backdrop{
	position:absolute;
	inset:0;
	background:rgba(16,28,24,.46);
}
.buy-quick-dialog-panel{
	position:relative;
	z-index:1;
	width:100%;
	max-width:360px;
	background:#fff;
	border-radius:14px;
	box-shadow:0 18px 48px rgba(16,28,24,.22);
	overflow:hidden;
}
.buy-quick-dialog-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:16px 18px 0;
}
.buy-quick-dialog-title{
	margin:0;
	font-size:17px;
	font-weight:700;
	color:var(--c-text);
}
.buy-quick-dialog-close{
	border:0;
	background:transparent;
	color:var(--c-text-muted);
	font-size:28px;
	line-height:1;
	padding:0 4px;
	cursor:pointer;
}
.buy-quick-dialog-body{padding:14px 18px 18px;}
body.buy-quick-open{overflow:hidden;}
.buy-quick-summary{
	margin:0 0 10px;
	font-size:15px;
	line-height:1.6;
	overflow-wrap:anywhere;
}
.buy-quick-price{
	margin:0 0 8px;
	color:var(--c-primary-dark);
	font-size:15px;
}
.buy-quick-price strong{
	font-size:24px;
	font-weight:700;
	font-variant-numeric:tabular-nums;
	letter-spacing:-.02em;
}
.buy-quick-hint{margin:0 0 16px;font-size:12px;line-height:1.7;}
.buy-quick-pay{display:flex;flex-direction:column;gap:10px;}
.buy-quick-pay .btn{margin:0;width:100%;}
.buy-card-title{
	margin:0;
	color:var(--c-text);
	font-size:18px;
	font-weight:600;
	line-height:1.45;
	letter-spacing:-.02em;
	overflow-wrap:anywhere;
}
.buy-card-product{
	margin:0;
	color:var(--c-text-muted);
	font-size:12px;
	line-height:1.5;
}
.buy-card-desc{
	margin:2px 0 0;
	color:var(--c-text-muted);
	font-size:13px;
	line-height:1.75;
	overflow-wrap:anywhere;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
	min-height:3.9em;
}
.buy-card-desc.is-empty{color:var(--c-text-soft);}

.buy-card-meta{
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.buy-card-meta li{
	display:grid;
	grid-template-columns:4.75em minmax(0,1fr);
	column-gap:10px;
	align-items:start;
	color:var(--c-text);
	font-size:13px;
	line-height:1.55;
}
.buy-card-meta-label{
	color:var(--c-text-muted);
	font-size:12px;
	line-height:1.55;
	white-space:nowrap;
}
.buy-card-meta-label::after{content:"：";}
.buy-card-meta-value{min-width:0;overflow-wrap:anywhere;word-break:break-word;}
.buy-card-rich{display:block;}
.buy-card-rich p{margin:0 0 .4em;}
.buy-card-rich p:last-child{margin-bottom:0;}
.buy-card-rich ul,.buy-card-rich ol{margin:.15em 0 .4em;padding-left:1.25em;}
.buy-card-rich li{margin:0 0 .15em;}
.buy-card-rich strong,.buy-card-rich b{font-weight:700;color:var(--c-text);}
.buy-card-rich em,.buy-card-rich i{font-style:italic;}
.buy-card-rich u{text-decoration:underline;}
.buy-card-demo{
	color:var(--c-primary);
	font-weight:500;
	text-decoration:none;
	border-bottom:1px solid transparent;
}
.buy-card-demo:hover,.buy-card-demo:focus{
	color:var(--c-primary-dark);
	border-bottom-color:rgba(23,78,64,.35);
}
.buy-card-demo-empty{color:var(--c-text-soft);}

/* 价格区：促销价与原价分行，避免同行挤压/重叠 */
.buy-card-price-row{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:6px;
	margin-top:4px;
	padding:14px 0 0;
	border-top:1px solid var(--c-border-soft);
}
.buy-card-promo{
	display:inline-flex;
	align-items:baseline;
	gap:2px;
	color:var(--c-primary-dark);
	font-size:28px;
	font-weight:700;
	line-height:1.15;
	letter-spacing:-.02em;
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}
.buy-card-promo-currency{
	font-size:15px;
	font-weight:600;
	line-height:1;
	transform:translateY(-1px);
}
.buy-card-list{
	display:inline-flex;
	align-items:center;
	flex-wrap:wrap;
	gap:4px;
	color:var(--c-text-soft);
	font-size:12px;
	line-height:1.4;
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}
.buy-card-list s{
	text-decoration:line-through;
	text-decoration-thickness:1px;
}
.buy-card-list-label{color:var(--c-text-muted);}

/* 人工服务：价格区购买数量 */
.buy-card-qty{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:8px;
	margin-top:4px;
	width:100%;
}
.buy-card-qty-label{
	color:var(--c-text-muted);
	font-size:12px;
	line-height:1.4;
}
.buy-card-qty-ctrl{
	display:inline-flex;
	align-items:center;
	border:1px solid var(--c-border-soft);
	border-radius:10px;
	overflow:hidden;
	background:#fff;
}
.buy-card-qty-btn{
	appearance:none;
	border:0;
	background:#f4f7f5;
	color:var(--c-text);
	width:36px;
	height:36px;
	font-size:18px;
	line-height:1;
	cursor:pointer;
	padding:0;
}
.buy-card-qty-btn:hover:not(:disabled),
.buy-card-qty-btn:focus-visible:not(:disabled){
	background:#e8f0eb;
	color:var(--c-primary-dark);
	outline:none;
}
.buy-card-qty-btn:disabled{
	opacity:.45;
	cursor:not-allowed;
}
.buy-card-qty-input{
	appearance:textfield;
	-moz-appearance:textfield;
	width:52px;
	height:36px;
	border:0;
	border-left:1px solid var(--c-border-soft);
	border-right:1px solid var(--c-border-soft);
	text-align:center;
	font-size:15px;
	font-weight:600;
	font-variant-numeric:tabular-nums;
	color:var(--c-text);
	background:#fff;
	padding:0;
	border-radius:0;
	box-shadow:none;
}
.buy-card-qty-input::-webkit-outer-spin-button,
.buy-card-qty-input::-webkit-inner-spin-button{
	-webkit-appearance:none;
	margin:0;
}
.buy-card-qty-input:focus{
	outline:none;
	background:#f7faf7;
}
.buy-card-qty-total{
	color:var(--c-primary-dark);
	font-size:13px;
	line-height:1.4;
	font-variant-numeric:tabular-nums;
}
.buy-card-qty-total strong{
	font-size:16px;
	font-weight:700;
	letter-spacing:-.02em;
}
.buy-card-qty-total .buy-card-promo-currency{
	font-size:12px;
	margin-right:1px;
}

.buy-card-actions{
	margin-top:0;
	display:flex;
	flex-direction:column;
	gap:12px;
	padding-top:6px;
}
.buy-card-foot .buy-card-price-row{margin-top:0;}
.buy-card-cta{
	width:100%;
	min-height:46px;
	font-size:15px;
	font-weight:600;
	letter-spacing:.02em;
}
.buy-card-checkout{
	display:none;
	padding:14px;
	border:1px solid var(--c-border-soft);
	border-radius:12px;
	background:#f7faf7;
}
.buy-card.is-open .buy-card-checkout{display:block;}
.buy-card-settle{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:0 0 14px;
	padding:0 0 12px;
	border-bottom:1px solid var(--c-border-soft);
}
.buy-card-settle-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	color:var(--c-text);
	font-size:13px;
	line-height:1.45;
}
.buy-card-settle-row strong{
	color:var(--c-primary-dark);
	font-variant-numeric:tabular-nums;
}
.buy-card-settle-row.is-muted{color:var(--c-text-soft);font-size:12px;}
.buy-card-settle-row.is-total{
	margin-top:2px;
	padding-top:8px;
	border-top:1px dashed var(--c-border-soft);
	font-weight:600;
}
.buy-card-settle-row.is-total strong{font-size:18px;}
.buy-card-checkout .form-group{margin-bottom:12px;}
.buy-card-checkout .help-block{margin-top:6px;font-size:12px;}
.buy-card-pay{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.buy-card-pay .btn{margin:0;flex:1 1 calc(50% - 8px);min-width:120px;}
.buy-card-pay .btn-primary{flex-basis:100%;}
.buy-card-nopay{margin:0;color:var(--c-danger);font-size:13px;line-height:1.6;}

.buy-package-status{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:56px;
	margin-top:28px;
	color:var(--c-text-muted);
	font-size:13px;
}
.buy-package-status.is-loading .buy-package-status-text{color:var(--c-primary-dark);}
.buy-package-status.is-end .buy-package-status-text{color:var(--c-text-soft);}
.buy-package-spinner{
	width:18px;height:18px;
	border:2px solid #c9ddd2;
	border-top-color:var(--c-primary-dark);
	border-radius:50%;
	animation:buy-spin .7s linear infinite;
}
@keyframes buy-spin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){
	.buy-package-spinner{animation:none;border-top-color:#c9ddd2;opacity:.7;}
}
.buy-package-sentinel{height:1px;width:100%;pointer-events:none;}

@media(max-width:767px){
	.buy-card-media{height:120px;}
	.buy-card-media-inner{padding:26px 16px 16px;}
	.buy-card-media-title{font-size:22px;}
	.buy-card-body{padding:18px 18px 16px;gap:12px;}
	.buy-card-title{font-size:17px;}
	.buy-card-promo{font-size:26px;}
	.buy-card-pay .btn{flex:1 1 100%;min-height:44px;}
	.buy-card:hover{transform:none;}
}

/* 统一购买店面：Tab + 授权卡勾选 */
.buy-hub-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 22px;
	padding:6px;
	border:1px solid var(--c-border);
	border-radius:14px;
	background:linear-gradient(180deg,#fff 0%,#f7faf7 100%);
}
.buy-hub-tab{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:40px;
	padding:8px 16px;
	border-radius:10px;
	color:var(--c-text-muted);
	font-size:14px;
	font-weight:500;
	text-decoration:none;
}
.buy-hub-tab:hover,.buy-hub-tab:focus{color:var(--c-primary-dark);background:var(--c-primary-soft);}
.buy-hub-tab.is-active{
	background:var(--c-primary-dark);
	color:#fff;
}
.buy-hub-tab.is-active:hover,.buy-hub-tab.is-active:focus{color:#fff;background:#103c30;}
.buy-hub-tab-link{margin-left:auto;}
.buy-hub-lead{
	margin:0 0 18px;
	color:var(--c-text-muted);
	font-size:13px;
	line-height:1.75;
}
.buy-hub-panel[hidden]{display:none!important;}
.buy-hub-domain{margin-bottom:22px;}
/* Bootstrap .panel-body 的 clearfix ::before/::after 会占满 grid/flex 格，导致两列对角错位 */
.buy-hub-domain>.panel-body,
.buy-hub-checkout>.panel-body{
	display:block;
}
.buy-hub-domain>.panel-body::before,
.buy-hub-domain>.panel-body::after,
.buy-hub-checkout>.panel-body::before,
.buy-hub-checkout>.panel-body::after{
	display:none!important;
	content:none!important;
}
.buy-hub-domain-fields{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px 20px;
	align-items:start;
}
.buy-hub-domain>.panel-body{padding:18px 20px;}
.buy-hub-field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.buy-hub-field label{margin:0;color:var(--c-text-muted);font-size:12px;font-weight:500;}
.buy-hub-field .form-control{width:100%;max-width:100%;}
.buy-card-select{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin:0;
	cursor:pointer;
}
.buy-card-select input[type=checkbox]{
	margin-top:5px;
	flex:none;
	width:18px;
	height:18px;
}
.buy-card-select .buy-card-title{flex:1;min-width:0;}
.buy-card-product.is-selected{border-color:#b7d0c2;box-shadow:0 10px 28px rgba(30,63,47,.08);}
.buy-card-domain-field{margin-top:4px;}
.buy-card-domain-field[hidden],.buy-hub-field[hidden],.buy-card-list[hidden]{display:none!important;}
.buy-hub-checkout{
	margin-top:28px;
	position:relative;
	z-index:1;
	clear:both;
}
.buy-hub-checkout>.panel-body.buy-hub-checkout-body,
.buy-hub-checkout-body{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px 28px;
	flex-wrap:wrap;
	padding:18px 22px;
	background:linear-gradient(180deg,#fff 0%,#f7faf8 100%);
}
.buy-hub-pay button[disabled],.buy-hub-pay .btn[disabled]{opacity:.45;cursor:not-allowed;}
.buy-hub-summary{flex:1 1 280px;min-width:0;}
.buy-hub-total{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:2px;
	margin:0 0 10px;
	min-width:0;
}
.buy-hub-total-label{color:var(--c-text-muted);font-size:12px;letter-spacing:.04em;}
.buy-hub-total-amount{
	display:flex;
	align-items:baseline;
	gap:4px;
	color:var(--c-primary-dark);
	line-height:1.1;
}
.buy-hub-total-amount strong{
	font-size:28px;
	font-weight:700;
	font-variant-numeric:tabular-nums;
	letter-spacing:-.03em;
}
.buy-hub-total-unit{font-size:14px;font-weight:600;}
.buy-hub-total-hint{color:var(--c-text-soft);font-size:12px;}
.buy-hub-lines{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:8px;
	max-width:520px;
}
.buy-hub-lines li{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:12px;
	padding:8px 10px;
	border:1px solid var(--c-border-soft);
	border-radius:10px;
	background:#fff;
	font-size:13px;
	line-height:1.45;
}
.buy-hub-lines li.is-empty{
	border-style:dashed;
	color:var(--c-text-soft);
	justify-content:center;
}
.buy-hub-line-main{min-width:0;overflow-wrap:anywhere;}
.buy-hub-line-main small{display:block;margin-top:2px;color:var(--c-text-muted);font-size:12px;}
.buy-hub-line-price{
	flex:none;
	color:var(--c-primary-dark);
	font-weight:600;
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}
.buy-hub-pay{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
	margin-left:auto;
	min-width:0;
}
.buy-hub-pay .btn{
	margin:0;
	min-width:120px;
	min-height:44px;
	padding:10px 18px;
}
.buy-hub-pay-primary{min-width:148px;font-weight:600;}
@media(max-width:991px){
	.buy-hub-domain-fields{grid-template-columns:1fr;}
}
@media(max-width:767px){
	.buy-hub-tab-link{margin-left:0;flex:1 1 100%;}
	.buy-hub-tabs{gap:6px;}
	.buy-hub-tab{flex:1 1 calc(50% - 6px);min-height:44px;}
	.buy-shop{padding-left:0;padding-right:0;padding-bottom:40px;}
	.buy-shop-notice.ui-package-notice{
		flex-direction:column;
		align-items:stretch;
		gap:8px;
	}
	.buy-hub-checkout{margin-left:0;margin-right:0;margin-top:20px;}
	/* 选择器优先级需盖过桌面 .buy-hub-checkout>.panel-body.buy-hub-checkout-body 的 align-items:flex-end */
	.buy-hub-checkout>.panel-body.buy-hub-checkout-body,
	.buy-hub-checkout-body{
		flex-direction:column;
		align-items:stretch;
		justify-content:flex-start;
		gap:12px;
		padding:16px;
		min-height:0;
		height:auto;
	}
	/* 桌面 flex:1 1 280px 在纵向会变成 280px 高，把支付按钮顶开 */
	.buy-hub-summary{
		flex:0 0 auto;
		width:100%;
		max-width:none;
		align-self:stretch;
	}
	.buy-hub-total,
	.buy-hub-lines{
		width:100%;
		max-width:none;
		align-self:stretch;
	}
	.buy-hub-total{align-items:flex-start;margin-bottom:8px;}
	.buy-hub-total-amount strong{font-size:26px;}
	.buy-hub-pay{
		width:100%;
		margin-top:0;
		margin-left:0;
		flex:0 0 auto;
		align-self:stretch;
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:10px;
		justify-content:stretch;
	}
	.buy-hub-pay-primary,
	.buy-hub-pay .buy-hub-pay-primary,
	.buy-hub-pay>a.btn{
		grid-column:1/-1;
		width:100%;
		min-width:0;
	}
	.buy-hub-pay .btn{width:100%;min-width:0;}
	.buy-hub-pay .buy-card-nopay{grid-column:1/-1;}
}
