
.bt2-points-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 16px 10px;
	box-sizing: border-box;
}

/* ============================
   顶部通知栏（仅积分中心短代码内输出）
   说明：放在主题 header 下方、积分中心 banner 上方。
   ============================ */
body .bt2-points-wrap .bt2pc-top-notices {
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 0 12px 0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}

body .bt2-points-wrap .bt2pc-top-notice {
	width: 100% !important;
	box-sizing: border-box !important;
	text-align: center !important;
	padding: 6px 12px !important; /* 一行高度即可 */
	font-size: 14px !important;
	line-height: 1.6 !important;
	font-weight: 400 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body .bt2-points-wrap .bt2pc-top-notice-1 {
	background: #FEE540 !important;
	color: #000000 !important;
}

body .bt2-points-wrap .bt2pc-top-notice-2 {
	background: #515868 !important;
	color: #FEE540 !important;
}

body .bt2-points-wrap .bt2pc-top-notice-link {
	color: inherit !important;
	text-decoration: none !important;
	display: inline-block !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

body .bt2-points-wrap .bt2pc-top-notice-link:hover {
	text-decoration: underline !important;
}

/*
 * 积分中心：移动端使用视口宽度定位（左右外边距 15px），允许突破主题容器宽度。
 * 说明：不少主题会给内容区设置固定 max-width，这里用 100vw + 负边距的方式“全宽”。
 */
@media (max-width: 782px) {
	.bt2-points-wrap {
		max-width: none;
		width: calc(100vw - 30px);
		margin-left: calc(50% - 50vw + 15px);
		margin-right: calc(50% - 50vw + 15px);
		padding: 12px 0;
	}
}

.bt2-points-notice {
	border: 1px solid #0099FF;
	border-radius: 10px;
	padding: 12px;
	margin: 10px 0;
	background: rgba(0, 153, 255, 0.06);
}

/* ============================
   头部 Banner（头像 + 导航 + 用户信息）
   ============================ */
.bt2-center-header {
	margin: 0 0 14px 0;
}

.bt2-center-banner {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	/* 不使用线框/描边，仅用蓝色微透光阴影形成卡片感 */
	box-shadow: 0 12px 26px rgba(0, 153, 255, 0.18), 0 0 22px rgba(0, 153, 255, 0.14);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* aspect-ratio fallback */
.bt2-center-banner::after {
	content: "";
	display: block;
	padding-top: 56.25%; /* 16:9 */
}

@supports (aspect-ratio: 16 / 9) {
	.bt2-center-banner {
		aspect-ratio: 16 / 9;
	}
	.bt2-center-banner::after {
		display: none;
	}
}

.bt2-center-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.06) 55%, rgba(0,0,0,0.0) 100%);
}

.bt2-center-banner-inner {
	position: absolute;
	inset: 0;
	padding: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
}

.bt2-center-top {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

/*
 * 头像：主题常对 img/avatar 施加 max-width/height:auto/margin 等样式，
 * 这里提高优先级并使用自定义 class，避免被主题干扰。
 */
.bt2-points-wrap .bt2-center-avatar {
    display: block !important;
    line-height: 0 !important;
    width: 120px !important;
    height: 120px !important;
    border-radius: 9999px !important;
    border: 4px solid #ffffff !important; /* 纯白 4px 圆环 */
    overflow: hidden !important;
    background: transparent !important;
    box-sizing: border-box !important;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
}

.bt2-points-wrap .bt2-center-avatar img.bt2-center-avatar-img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 9999px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.bt2-center-nav {
	display: flex;
	align-items: center;
	background: #FF6699;
	border-radius: 0 14px 0 14px; /* 右上角 + 左下角圆角 */
	overflow: hidden;
	height: 34px;
	min-width: 220px;
	box-shadow: 0 8px 16px rgba(255, 102, 153, 0.22);
}

.bt2-center-nav-item {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	color: #fff;
	text-decoration: none;
	font-weight: 500;
	font-size: 13px;
	line-height: 1;
	white-space: nowrap;
}

.bt2-center-nav-item.bt2-active {
	background: rgba(255, 255, 255, 0.18);
}

.bt2-center-nav-divider {
	width: 1px;
	height: 1em; /* 与文字高度一致 */
	align-self: center;
	background: rgba(255, 255, 255, 0.85);
}

.bt2-center-userinfo {
	position: relative;
	z-index: 2;
	/* 白色遮罩：简洁样式（无毛玻璃/无边缘特效） */
	background: rgba(255, 255, 255, 0.45);
	border: 1px dashed #FF6699;
	border-radius: 10px;
	padding: 9px 11px;
	width: 80%;
	margin: 0 auto;
	color: #515868;
	font-weight: 400;
	font-size: 12px;
	line-height: 1.55;
	box-sizing: border-box;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.bt2-center-label {
	opacity: 0.85;
}

@media (max-width: 600px) {
	.bt2-center-banner-inner { padding: 12px; }
	/* 移动端：头像 90px，导航更小更精致 */
	.bt2-points-wrap .bt2-center-avatar { width: 90px !important; height: 90px !important; }
	.bt2-center-nav { height: 30px; min-width: 0; }
	.bt2-center-nav-item { padding: 0 8px; font-size: 12px; font-weight: 400; }
	.bt2-center-nav-divider { height: 1em; }
	.bt2-center-userinfo { width: 80%; font-size: 11px; padding: 8px 10px; }
}

.bt2-points-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 8px 0 18px 0;
	border: 1px solid #0099FF;
	border-radius: 10px;
	padding: 10px 12px;
	background: rgba(0, 153, 255, 0.04);
}

.bt2-points-nav-link {
	text-decoration: none;
	color: #0099FF;
	font-weight: 600;
}

.bt2-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
}

.bt2-card {
	border: 1px solid #0099FF;
	border-radius: 12px;
	padding: 14px;
	background: #fff;
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
}

/* 可点击卡片（a 标签） */
a.bt2-card {
	text-decoration: none;
	color: inherit;
}

a.bt2-card:hover {
	box-shadow: 0 10px 20px rgba(0, 153, 255, 0.12);
	transform: translateY(-1px);
}

/* 当前积分 / 充值 / 记录：两半居中栅栏式 */
.bt2-split-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	padding: 0;
	min-height: 92px;
}

.bt2-split-left,
.bt2-split-right {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 14px;
	box-sizing: border-box;
}

.bt2-split-right {
	border-left: 1px solid rgba(0, 153, 255, 0.25);
}

.bt2-split-left img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.bt2-split-title {
	font-size: 16px;
	font-weight: 800;
	margin-bottom: 4px;
}

.bt2-split-number {
	font-size: 32px;
	font-weight: 900;
	line-height: 1.05;
	color: #0099FF;
}

.bt2-split-text {
	font-size: 18px;
	font-weight: 900;
	color: #0099FF;
}

.bt2-card-icon img {
	width: 54px;
	height: 54px;
	object-fit: contain;
}

.bt2-card-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 4px;
}

.bt2-card-number {
	font-size: 30px;
	font-weight: 800;
	line-height: 1.1;
	color: #0099FF;
}

.bt2-card-desc {
	color: #666;
	font-size: 13px;
	margin: 6px 0 10px 0;
}

.bt2-card-actions {
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

.bt2-card-action {
	border: 1px solid #0099FF;
	border-radius: 10px;
	padding: 10px;
	background: rgba(0, 153, 255, 0.04);
}

.bt2-card-action-long { }
.bt2-card-action-short { }

.bt2-card-link {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #333;
	font-weight: 700;
}

.bt2-card-link img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.bt2-page {
	margin-top: 14px;
}

.bt2-page-title {
	margin: 10px 0 14px 0;
	padding-bottom: 10px;
	border-bottom: 2px dashed #0099FF;
}

.bt2-page-subtitle {
	margin: 18px 0 10px 0;
}

.bt2-points-panel {
	border: 1px dashed #0099FF;
	border-radius: 12px;
	padding: 14px;
	background: rgba(0, 153, 255, 0.03);
}

.bt2-points-panel-row {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	margin: 10px 0;
}

.bt2-points-panel-label {
	min-width: 120px;
	font-weight: 700;
}

.bt2-points-panel-value {
	flex: 1;
	min-width: 220px;
}

.bt2-points-panel-hint {
	color: #666;
	font-size: 13px;
	line-height: 1.5;
	margin-top: 10px;
}

.bt2-input {
	width: min(520px, 100%);
	padding: 10px 12px;
	border: 1px solid #0099FF;
	border-radius: 8px;
	outline: none;
}

.bt2-flat-btn {
	display: inline-block;
	margin-left: 8px;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #0099FF;
	background: #0099FF;
	color: #fff !important;
	text-decoration: none;
	font-weight: 700;
	cursor: pointer;
	line-height: 1;
}

.bt2-flat-btn:hover {
	opacity: 0.92;
}

.bt2-flat-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.bt2-flat-btn-link {
	margin-left: 0;
}

.bt2-msg-ok {
	border: 1px solid #0099FF;
	border-radius: 8px;
	padding: 10px 12px;
	margin-top: 10px;
	background: rgba(0, 153, 255, 0.08);
	color: #0b4a6e;
}

.bt2-msg-error {
	border: 1px solid #d63638;
	border-radius: 8px;
	padding: 10px 12px;
	margin-top: 10px;
	background: rgba(214, 54, 56, 0.08);
	color: #b32d2e;
}

.bt2-points-result {
	margin-top: 14px;
	padding: 12px;
	border: 1px dashed #0099FF;
	border-radius: 10px;
	background: rgba(0, 153, 255, 0.03);
}

/* 表格：#0099FF */
.bt2-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #0099FF;
	margin-top: 10px;
	background: #fff;
}

.bt2-table th,
.bt2-table td {
	border: 1px solid #0099FF;
	padding: 10px 8px;
	text-align: left;
	vertical-align: top;
}

.bt2-table th {
	background: rgba(0, 153, 255, 0.08);
	font-weight: 800;
}

/* 分页器 */
.bt2-pagination {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin: 12px 0 6px 0;
}

.bt2-page-link {
	display: inline-block;
	padding: 8px 12px;
	border: 1px solid #0099FF;
	border-radius: 8px;
	text-decoration: none;
	color: #0099FF;
	font-weight: 700;
	background: #fff;
}

.bt2-page-current {
	background: #0099FF;
	color: #fff;
}

/* 隐藏内容框：#0099FF 虚线圆角 */
.bt2-hide-box {
	border: 2px dashed #0099FF;
	border-radius: 14px;
	padding: 16px;
	margin: 14px 0;
	background: rgba(0, 153, 255, 0.025);
	box-shadow: 0 10px 18px rgba(0, 153, 255, 0.08);
}

.bt2-hide-text {
	margin-bottom: 10px;
	font-weight: 700;
}

.bt2-hide-content {
	margin-top: 8px;
}

/* 抽奖滚动框 */
.bt2-lottery-box {
	border: 2px dashed #0099FF;
	border-radius: 12px;
	padding: 14px;
	margin: 12px 0;
	background: #fff;
}

.bt2-lottery-roller {
	font-size: 16px;
	font-weight: 800;
	color: #0099FF;
	min-height: 28px;
}

/* 手机适配 */
@media (max-width: 600px) {
	.bt2-points-panel-label { min-width: auto; }
	.bt2-flat-btn { margin-left: 0; margin-top: 8px; }
	.bt2-split-left img { width: 52px; height: 52px; }
}

/* ============================
   主题强样式“对抗”保护（生产环境兼容）
   ============================ */

/* 统一盒模型，避免主题对 input/button/table 做奇怪的 box-sizing 重写 */
body .bt2-points-wrap,
body .bt2-points-wrap * {
	box-sizing: border-box !important;
}

/* 标题：提高优先级 */
body .bt2-points-wrap h2.bt2-page-title {
	margin: 10px 0 14px 0 !important;
	padding-bottom: 10px !important;
	border-bottom: 2px dashed #0099FF !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

body .bt2-points-wrap h3.bt2-page-subtitle {
	margin: 18px 0 10px 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

/* 卡片/图标对齐：避免主题给 img/a 加 margin/line-height 导致上下错位 */
body .bt2-points-wrap .bt2-card,
body .bt2-points-wrap a.bt2-card {
	display: flex !important;
	align-items: center !important;
}

body .bt2-points-wrap .bt2-split-left,
body .bt2-points-wrap .bt2-split-right {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1.2 !important;
}

body .bt2-points-wrap .bt2-split-left img,
body .bt2-points-wrap .bt2-card-icon img,
body .bt2-points-wrap .bt2-card-link img {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	vertical-align: middle !important;
}

/* 输入框/按钮：强制外观一致 */
body .bt2-points-wrap input.bt2-input,
body .bt2-points-wrap textarea.bt2-input {
	border: 1px solid #0099FF !important;
	border-radius: 8px !important;
	padding: 10px 12px !important;
	outline: none !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	background: #fff !important;
}

body .bt2-points-wrap .bt2-flat-btn,
body .bt2-points-wrap a.bt2-flat-btn {
	border: 1px solid #0099FF !important;
	background: #0099FF !important;
	color: #fff !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

/* 表格：提高优先级，避免主题 table 样式覆盖 */
body .bt2-points-wrap table.bt2-table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 1px solid #0099FF !important;
	background: #fff !important;
}

body .bt2-points-wrap table.bt2-table th,
body .bt2-points-wrap table.bt2-table td {
	border: 1px solid #0099FF !important;
	padding: 10px 8px !important;
	text-align: left !important;
	vertical-align: middle !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

body .bt2-points-wrap table.bt2-table th {
	background: rgba(0, 153, 255, 0.08) !important;
	font-weight: 800 !important;
}

/* 积分兑换卡片 */
body .bt2-points-wrap .bt2-redeem-card {
	display: block !important;
	padding: 0 !important;
	margin-top: 14px !important;
	overflow: hidden !important;
}

body .bt2-points-wrap .bt2-redeem-head {
	border-bottom: 1px solid rgba(0, 153, 255, 0.25) !important;
}

body .bt2-points-wrap .bt2-redeem-body {
	padding: 14px !important;
}

body .bt2-points-wrap .bt2-redeem-row {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
	flex-wrap: wrap !important;
}

body .bt2-points-wrap .bt2-redeem-disabled {
	border: 1px dashed #0099FF !important;
	border-radius: 10px !important;
	padding: 12px !important;
	background: rgba(0, 153, 255, 0.03) !important;
	color: #515868 !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
}


/* ============================
   首页卡片布局切换（后台可选）
   - center：左右半区各自居中（经典）
   - left：左右半区内容靠左（紧凑）
   ============================ */
body .bt2-points-wrap.bt2-card-layout-center .bt2-split-left,
body .bt2-points-wrap.bt2-card-layout-center .bt2-split-right {
	justify-content: center !important;
	text-align: center !important;
}

body .bt2-points-wrap.bt2-card-layout-left .bt2-split-left,
body .bt2-points-wrap.bt2-card-layout-left .bt2-split-right {
	justify-content: flex-start !important;
	text-align: left !important;
}

body .bt2-points-wrap.bt2-card-layout-left .bt2-split-left,
body .bt2-points-wrap.bt2-card-layout-left .bt2-split-right {
	padding-left: 18px !important;
	padding-right: 18px !important;
}

/* ============================
   修复 + 优化：
   1) split-card 保持 grid（避免被 .bt2-card 的 flex 覆盖）
   2) 分割线改为 70% 高度、垂直居中（不顶边）
   3) left 模式改为 30% / 70%，两侧内容靠左
   ============================ */

/* split-card：默认（center）先用 1fr/1fr；left 模式在下面改 30/70 */
body .bt2-points-wrap .bt2-card.bt2-split-card,
body .bt2-points-wrap a.bt2-card.bt2-split-card {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  padding: 0 !important;          /* 覆盖 .bt2-card 的 padding */
  align-items: stretch !important;
  position: relative !important;  /* 为自定义分割线提供定位参照 */
}

/* split-card 内部半区 */
body .bt2-points-wrap .bt2-card.bt2-split-card .bt2-split-left,
body .bt2-points-wrap .bt2-card.bt2-split-card .bt2-split-right,
body .bt2-points-wrap a.bt2-card.bt2-split-card .bt2-split-left,
body .bt2-points-wrap a.bt2-card.bt2-split-card .bt2-split-right {
  display: flex !important;
  align-items: center !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}

/* 先把原本 .bt2-split-right 的整高 border 去掉（否则会顶到上下边） */
body .bt2-points-wrap .bt2-card.bt2-split-card .bt2-split-right,
body .bt2-points-wrap a.bt2-card.bt2-split-card .bt2-split-right {
  border-left: none !important;
}

/* 用伪元素画“短分割线”：高度 70%，垂直居中 */
body .bt2-points-wrap .bt2-card.bt2-split-card::before,
body .bt2-points-wrap a.bt2-card.bt2-split-card::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;                   /* 默认 center：分割线在正中 */
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 1px !important;
  height: 70% !important;
  background: rgba(0, 153, 255, 0.25) !important;
  pointer-events: none !important;
}

/* ===== center 模式：左右各半区居中 ===== */
body .bt2-points-wrap.bt2-card-layout-center .bt2-card.bt2-split-card .bt2-split-left,
body .bt2-points-wrap.bt2-card-layout-center .bt2-card.bt2-split-card .bt2-split-right,
body .bt2-points-wrap.bt2-card-layout-center a.bt2-card.bt2-split-card .bt2-split-left,
body .bt2-points-wrap.bt2-card-layout-center a.bt2-card.bt2-split-card .bt2-split-right {
  justify-content: center !important;
  text-align: center !important;
}

/* ============================
   left 模式变体：
   - 30% / 70%
   - 左侧图标：半区内居中
   - 右侧文字：半区内靠左
   - 分割线：70% 高度，位置在 30%
   ============================ */

/* left：30/70 */
body .bt2-points-wrap.bt2-card-layout-left .bt2-card.bt2-split-card,
body .bt2-points-wrap.bt2-card-layout-left a.bt2-card.bt2-split-card {
  grid-template-columns: 30% 70% !important;
}

/* left：分割线位置跟随 30% */
body .bt2-points-wrap.bt2-card-layout-left .bt2-card.bt2-split-card::before,
body .bt2-points-wrap.bt2-card-layout-left a.bt2-card.bt2-split-card::before {
  left: 30% !important;
}

/* left：左侧（30%）居中 */
body .bt2-points-wrap.bt2-card-layout-left .bt2-card.bt2-split-card .bt2-split-left,
body .bt2-points-wrap.bt2-card-layout-left a.bt2-card.bt2-split-card .bt2-split-left {
  justify-content: center !important;
  text-align: center !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

/* left：右侧（70%）靠左 */
body .bt2-points-wrap.bt2-card-layout-left .bt2-card.bt2-split-card .bt2-split-right,
body .bt2-points-wrap.bt2-card-layout-left a.bt2-card.bt2-split-card .bt2-split-right {
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* ============================
   积分中心：顶部间距锚定 header 底部（通用版）
   - 清掉主题内容区多余的 top padding/margin
   - 积分中心本体距离 header 底部 30px
   依赖 :has()，现代浏览器已基本可用
   ============================ */

/* 1) 只要页面里有积分中心，就把主题内容区上方多余空隙归零（按常见主题容器写了一组） */
body:has(.bt2-points-wrap) .site-content,
body:has(.bt2-points-wrap) .content-area,
body:has(.bt2-points-wrap) .site-main,
body:has(.bt2-points-wrap) .inner-content,
body:has(.bt2-points-wrap) .entry-content,
body:has(.bt2-points-wrap) .wp-site-blocks,
body:has(.bt2-points-wrap) .elementor-section-wrap,
body:has(.bt2-points-wrap) .elementor-widget-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 2) 积分中心距离“上方内容”保持 30px（header 非 fixed 的情况下基本等同于 header 底边 + 30） */
body:has(.bt2-points-wrap) .bt2-points-wrap {
  margin-top: 1px !important;
}