/* ============ 福利专区排版（2026-10-06 重排：拉开节奏、增强层级） ============ */

/* ---- 顶部横幅 ---- */
.welfare-hero {
  padding: 44px 46px;
  color: #123c66;
  background: linear-gradient(105deg, #eaf4fe 0%, #d8ebfc 58%, #c6e1fa 100%);
  border-radius: 10px;
}

.welfare-hero__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.welfare-hero h1 {
  margin: 0 0 10px;
  color: #0e3f70;
  font-size: 30px;
  letter-spacing: .01em;
}

.welfare-hero p {
  margin: 0;
  color: #41648c;
  font-size: 14px;
  line-height: 1.8;
}

.welfare-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.welfare-hero__actions a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  border: 1px solid #9dbcd8;
  border-radius: 6px;
  color: #125da5;
  white-space: nowrap;
  font-size: 14px;
}

.welfare-hero__actions .welfare-hero__primary {
  border-color: #ff6a00;
  color: #fff;
  background: #ff6a00;
  font-weight: 700;
}

.welfare-hero__actions a:hover { filter: brightness(1.05); }

/* ---- 会员等级权益（独立卡片区） ---- */
.welfare-tiers { margin-top: 34px; }

.welfare-tiers__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}

.welfare-tiers__head h2 {
  margin: 0;
  color: #102b49;
  font-size: 22px;
}

.welfare-tiers__head span {
  color: #81909e;
  font-size: 12.5px;
}

.welfare-tiers__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.welfare-tier {
  position: relative;
  padding: 20px 22px 18px;
  border: 1px solid #dce5ed;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}

.welfare-tier::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}

.welfare-tier--0::before { background: #1264ad; }
.welfare-tier--1::before { background: #7f97ad; }
.welfare-tier--2::before { background: #d9a23a; }
.welfare-tier--3::before { background: #6d5fc0; }

.welfare-tier:hover {
  border-color: #9abbd7;
  box-shadow: 0 8px 22px rgba(16, 43, 73, .09);
  transform: translateY(-2px);
}

.welfare-tier strong {
  display: block;
  color: #0c5598;
  font-size: 13.5px;
  letter-spacing: .02em;
}

.welfare-tier span {
  display: block;
  margin-top: 8px;
  color: #253c4f;
  font-weight: 700;
  font-size: 16.5px;
  line-height: 1.5;
}

.welfare-tier small {
  display: block;
  margin-top: 7px;
  color: #81909e;
  font-size: 12px;
}

/* ---- 进行中的活动 ---- */
.welfare-listing { margin-top: 40px; }

.welfare-listing__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.welfare-listing__head h2 {
  margin: 0;
  color: #102b49;
  font-size: 22px;
}

.welfare-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.welfare-tabs button {
  min-height: 32px;
  padding: 0 14px;
  border: 1px solid #b9cbe0;
  border-radius: 999px;
  color: #40586d;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  transition: border-color .15s, color .15s;
}

.welfare-tabs button:hover { border-color: #1264ad; color: #1264ad; }

.welfare-tabs button.active {
  border-color: #1264ad;
  color: #fff;
  background: #1264ad;
}

.welfare-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.welfare-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 22px 24px 20px;
  border: 1px solid #dce5ed;
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}

.welfare-card:hover {
  border-color: #9abbd7;
  box-shadow: 0 8px 22px rgba(16, 43, 73, .09);
}

.welfare-card--upcoming {
  border-style: dashed;
}

.welfare-card__title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: #253c4f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.welfare-tag {
  padding: 2px 9px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 400;
}

.welfare-tag--red { color: #a32d2d; background: #fcebeb; }
.welfare-tag--amber { color: #854f0b; background: #faeeda; }
.welfare-tag--green { color: #3b6d11; background: #eaf3de; }
.welfare-tag--blue { color: #185fa5; background: #e6f1fb; }
.welfare-tag--purple { color: #534ab7; background: #eeedfe; }
.welfare-tag--gray { color: #5f5e5a; background: #f1efe8; }

.welfare-card__desc {
  flex: 1;
  margin: 11px 0 18px;
  color: #687b8d;
  font-size: 13.5px;
  line-height: 1.75;
}

.welfare-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px dashed #e3eaf3;
}

.welfare-card__foot > span {
  color: #81909e;
  font-size: 12.5px;
}

.welfare-card__ends {
  color: #d85a30;
}

.welfare-card__ends--over {
  color: #81909e;
}

.welfare-card__cta {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px;
  border-radius: 6px;
  color: #fff !important;
  background: #1264ad;
  font-weight: 700;
  font-size: 13.5px;
}

.welfare-card__cta:hover {
  background: #0c5598;
}

.welfare-card__cta--muted {
  pointer-events: none;
  color: #7c8994 !important;
  background: #e7ebee;
  font-weight: 400;
}

.welfare-empty {
  grid-column: 1 / -1;
  padding: 80px 20px;
  color: #687b8d;
  text-align: center;
}

/* ---- 活动日历 ---- */
.welfare-calendar {
  margin-top: 40px;
  padding: 24px 28px 28px;
  border: 1px solid #dce5ed;
  border-radius: 10px;
  background: #fff;
}

.welfare-calendar__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 22px;
}

.welfare-calendar__head h2 {
  margin: 0;
  color: #102b49;
  font-size: 20px;
}

.welfare-calendar__head span {
  color: #81909e;
  font-size: 12.5px;
}

.welfare-calendar__track {
  display: flex;
  gap: 6px;
}

.welfare-calendar__cell {
  flex: 1;
  text-align: center;
}

.welfare-calendar__cell i {
  display: block;
  color: #81909e;
  font-size: 12px;
  font-style: normal;
}

.welfare-calendar__cell b {
  display: block;
  height: 6px;
  margin: 9px 14px 0;
  border-radius: 4px;
  background: #e3eaf3;
}

.welfare-calendar__cell--current b { background: #1264ad; }

.welfare-calendar__cell span {
  display: block;
  margin-top: 10px;
  color: #40586d;
  font-size: 12.5px;
}

.welfare-calendar__cell--current i { color: #1264ad; font-weight: 700; }

.welfare-calendar__cell--current span {
  color: #102b49;
  font-weight: 700;
}

/* ---- 底部说明 ---- */
.article-main .coin-shop-note {
  margin-top: 26px;
  color: #93a3b1;
  font-size: 12.5px;
  text-align: center;
}

/* ---- 响应式 ---- */
@media (max-width: 980px) {
  .welfare-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .welfare-hero__inner { align-items: flex-start; flex-direction: column; }
  .welfare-tiers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .welfare-hero { padding: 30px 22px; }
  .welfare-hero h1 { font-size: 24px; }
  .welfare-tiers { margin-top: 26px; }
  .welfare-tiers__grid { grid-template-columns: 1fr; }
  .welfare-listing { margin-top: 30px; }
  .welfare-cards { grid-template-columns: 1fr; gap: 14px; }
  .welfare-listing__head { align-items: flex-start; flex-direction: column; }
  .welfare-calendar { padding: 20px 18px 24px; }
  .welfare-calendar__track { flex-wrap: wrap; gap: 14px; }
  .welfare-calendar__cell { flex: 1 1 40%; }
  .welfare-calendar__cell b { margin: 9px 6px 0; }
}
