/**
 * 推广区（网盘拉新）样式
 * 路径：public/static/css/promo.css
 * 由 App\Service\Promo\PromoBlock 输出的 <link> 引入（仅在有推广位时出现，平时不加载）。
 * 沿用站点 --brand / --surface / --line / --ink-* 变量，保底色值兼容无变量场景。
 */

.promo-box {
  margin: 20px 0 22px;
  background: var(--surface, #fff);
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 14px;
  overflow: hidden;
}
.promo-hd {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  padding: 13px 18px;
  border-bottom: 1px dashed var(--line, #e5e7eb);
  background: linear-gradient(120deg, #fff7ed, #fffdf5);
}
.promo-hd-t { font-size: 15px; font-weight: 800; color: var(--ink-1, #0f172a); }
.promo-hd-s { font-size: 12px; color: var(--ink-3, #8a94a6); }

.promo-list { padding: 6px 10px; }
.promo-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 8px;
  border-bottom: 1px solid #f1f5f9;
  flex-wrap: wrap;
}
.promo-item:last-child { border-bottom: 0; }
.promo-ic {
  width: 38px; height: 38px; flex: none;
  border-radius: 10px;
  background: var(--brand-soft, #e8f7f0);
  display: grid; place-items: center;
  font-size: 19px;
}
.promo-main { flex: 1; min-width: 180px; display: flex; flex-direction: column; gap: 2px; }
.promo-t { font-size: 14.5px; font-weight: 700; color: var(--ink-1, #0f172a); }
.promo-d { font-size: 12.5px; color: var(--ink-3, #64748b); line-height: 1.5; }

.promo-act { flex: none; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.promo-btn {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--brand, #0a9d5f);
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.promo-btn:hover { opacity: .9; }
.promo-btn.ghost {
  background: #f1f5f9;
  color: var(--ink-2, #334155);
  border: 1px solid var(--line, #e5e7eb);
}
.promo-code {
  font-family: Consolas, "PingFang SC", "Microsoft YaHei", monospace;
  font-size: 14px;
  font-weight: 700;
  color: #065f46;
  background: #fff;
  border: 1px dashed #6ee7b7;
  border-radius: 8px;
  padding: 6px 12px;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.promo-copy {
  border: 1px solid var(--brand, #0a9d5f);
  color: var(--brand, #0a9d5f);
  background: #fff;
  border-radius: 7px;
  padding: 6px 13px;
  cursor: pointer;
  font-size: 13px;
}
.promo-copy:hover { background: var(--brand-soft, #e8f7f0); }

.promo-ft {
  padding: 11px 18px;
  border-top: 1px dashed var(--line, #e5e7eb);
  background: #fafbfc;
  font-size: 12px;
  color: var(--ink-3, #8a94a6);
  line-height: 1.8;
}

@media (max-width: 640px) {
  .promo-item { gap: 8px; }
  .promo-act { width: 100%; }
  .promo-btn { flex: 1; text-align: center; }
  .promo-code { max-width: 100%; flex: 1; }
}
