/* =============================================================================
 * 日宜百货 · 买家前台浅色主题（VIBRANT / STREET-POP · 墨黑 + 霓虹粉）
 * -----------------------------------------------------------------------------
 * 作用域：仅 .xph-front（买家前台 body）。与 front-theme-dark.css 二选一加载，
 *         由 layout.html 顶部脚本按 localStorage('xph_theme') 切换。
 * 设计语言：高对比墨黑底 + 纸白面 + 霓虹粉(#FF2D6F) 价格/主 CTA + 撞色大色块。
 * 说明：核心设计系统已在 style.css 的 :root 中以 vibrant 令牌定义（浅色即默认值）。
 *       本文件只做三件事：
 *         (1) 在 .xph-front 作用域重申浅色令牌（与 style.css 一致，兜底）；
 *         (2) sticky-footer 布局 + 浅色页面底色；
 *         (3) 未重构页（用户中心子页 / 公告 / 条款）所需的共享组件皮肤
 *             （terms-doc / address-card / card-item / avatar-preview / msg-list /
 *              feedback-list / points-summary），统一为 vibrant 配色。
 *       不再对任何顶层组件（顶栏 / 页脚 / 按钮 / 表单 / 商品卡 / 购物车 / 会员）
 *       做暖色覆盖 —— 全部沿用 style.css / home.css / member.css 的 vibrant 定义。
 * ========================================================================== */

/* ---------------------------------------------------------------------------
 * 1. 浅色令牌（与 style.css :root 一致，作用域兜底）
 * ------------------------------------------------------------------------ */
.xph-front {
  color-scheme: light;

  --ink:      #14141A;
  --ink-2:    #2A2A33;
  --paper:    #FFFFFF;
  --paper-2:  #F4F4F1;
  --paper-3:  #ECECE8;

  --card:     #FFFFFF;
  --card-hi:  #FFFFFF;

  --border:    #E9E9E4;
  --border-hi: #D6D6CF;

  --text:   #15151B;
  --text-2: #3B3B46;
  --muted:  #77777F;

  --primary:      #14141A;
  --primary-dark: #000000;
  --primary-2:    #2A2A33;
  --accent:       #FF2D6F;
  --accent-2:     #FF7A3D;
  --ok:           #16A34A;
  --err:          #E5484D;
  --warn:         #E58A00;

  --grad-primary: linear-gradient(135deg, #14141A 0%, #2A2A33 100%);
  --grad-accent:  linear-gradient(135deg, #FF2D6F 0%, #FF7A3D 100%);

  --pop-pink:   #FF2D6F;
  --pop-blue:   #2D5BFF;
  --pop-lime:   #C8F23C;
  --pop-orange: #FF6A00;
  --pop-violet: #8B5CFF;
  --pop-cyan:   #00D6C2;
  --pop-yellow: #FFD23F;
}

/* ---------------------------------------------------------------------------
 * 2. 页面底色 + sticky-footer 布局
 * ------------------------------------------------------------------------ */
body.xph-front { color: var(--text); background-color: var(--paper); }

.xph-front { display: flex; flex-direction: column; }
.xph-front > .container { flex: 1 0 auto; width: 100%; }
.xph-front > main.container { padding-bottom: 8px; }

/* 选中态 / 滚动条浅色（与核心系统一致，仅作用域兜底） */
.xph-front ::selection { background: var(--accent); color: #fff; }

/* ---------------------------------------------------------------------------
 * 3. 未重构页共享组件皮肤（vibrant）
 *    这些类名不被 style.css / home.css / member.css 覆盖，需在此兜底，
 *    以免用户中心子页 / 地址 / 积分 / 消息 / 条款页出现裸样式。
 * ------------------------------------------------------------------------ */

/* 条款文档页 */
.xph-front .terms-page { background: transparent; }
.xph-front .terms-doc {
  background: var(--card); color: var(--text-2);
  border-color: var(--border); box-shadow: var(--shadow);
}
.xph-front .terms-doc h2 { color: var(--text); border-left-color: var(--accent); }
.xph-front .terms-doc h3 { color: var(--text); }
.xph-front .terms-doc p, .xph-front .terms-doc li, .xph-front .terms-doc ol { color: var(--text-2); }
.xph-front .terms-doc strong { color: var(--text); }
.xph-front .terms-doc u { text-decoration-color: var(--accent); }
.xph-front .terms-doc a { color: var(--accent); }
.xph-front .terms-head { border-bottom-color: var(--border); }
.xph-front .terms-head h1 { color: var(--text); }
.xph-front .terms-doc .terms-sub { color: var(--accent); }
.xph-front .terms-doc .terms-meta { color: var(--muted); }
.xph-front .terms-doc .terms-sign { color: var(--text-2); border-top-color: var(--border); }
.xph-front .terms-doc .terms-company { color: var(--text); }
.xph-front .terms-doc .terms-date { color: var(--muted); }
.xph-front .terms-doc table { border-color: var(--border); }
.xph-front .terms-doc th { background: rgba(255,45,111,.06); color: var(--text); border-bottom-color: var(--border); }
.xph-front .terms-doc td { border-bottom-color: var(--border); }
.xph-front .terms-warn { color: #8a3a00; background: rgba(255,210,63,.16); border-color: rgba(255,210,63,.4); border-left-color: var(--warn); }
.xph-front .terms-warn em { color: #8a6a00; }
.xph-front .terms-doc code { background: rgba(255,45,111,.08); color: #c01e53; }

/* 地址卡 */
.xph-front .address-card { background: var(--card); border-color: var(--border); }
.xph-front .address-card:hover { border-color: var(--border-hi); box-shadow: var(--glow-soft); }
.xph-front .address-card.default { border-color: var(--accent); background: rgba(255,45,111,.07); box-shadow: var(--glow-accent); }
.xph-front .address-card .default-tag { color: #fff; background: var(--grad-accent); }

/* 支付卡 */
.xph-front .card-item { background: rgba(255,45,111,.06); border-color: var(--border); }
.xph-front .card-item:hover { border-color: var(--border-hi); box-shadow: var(--glow-soft); }

/* 头像占位 */
.xph-front .avatar-preview { background: var(--paper-2) center/cover no-repeat; border-color: var(--accent); color: var(--accent); }

/* 站内消息 */
.xph-front .msg-list li:hover { background: rgba(255,45,111,.045); }
.xph-front .feedback-list li:hover { background: rgba(255,45,111,.03); }
.xph-front .feedback-list .fb-content { background: var(--paper-2); color: var(--text-2); }
.xph-front .feedback-list .fb-reply { color: #c01e53; background: rgba(255,45,111,.08); border-color: rgba(255,45,111,.28); }

/* 积分总览卡 */
.xph-front .points-summary {
  color: var(--text);
  background:
    radial-gradient(circle at 82% 18%, rgba(255,45,111,.20), transparent 58%),
    linear-gradient(135deg, rgba(255,45,111,.12) 0%, rgba(45,91,255,.10) 55%, rgba(200,242,60,.10) 100%),
    var(--card);
  border: 1px solid rgba(255,45,111,.30);
  box-shadow: var(--glow-soft), var(--shadow-soft);
}
.xph-front .points-summary .value { color: var(--accent); }
