/* ============================================================
   SnowycatBot 深色主题层 (dark.css v=20260924)
   在 style.css / checkout.css / member.css / admin.css 之后加载，
   统一切换到与首页一致的工业深色设计语言。仅覆盖颜色与质感。
   ============================================================ */
:root {
  --primary: #FF4A1C;
  --primary-dark: #D63A12;
  --primary-light: rgba(255, 74, 28, .14);
  --cyan: #FF8A5B;
  --violet: #FF4A1C;
  --grad-brand: linear-gradient(120deg, #FF4A1C 0%, #FF8A5B 100%);
  --grad-dark: linear-gradient(120deg, #101014 0%, #15151A 100%);
  --accent: #FF4A1C;
  --grad-accent: linear-gradient(90deg, #FF4A1C, #FF8A5B);
  --glow-brand: 0 0 0 1px rgba(255, 74, 28, .18), 0 12px 32px rgba(255, 74, 28, .16);
  --glow-cyan: 0 0 22px rgba(255, 74, 28, .28);
  --text-1: #F4F2ED;
  --text-2: #B6B4BE;
  --text-3: #94939F;
  --bg: #0A0A0C;
  --surface: #15151A;
  --line: rgba(244, 242, 237, .11);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, .45);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, .55);
}

html { color-scheme: dark; }
body {
  background:
    radial-gradient(900px 420px at 85% -60px, rgba(255, 74, 28, .05), transparent 60%),
    #0A0A0C;
  color: var(--text-1);
}
::selection { background: rgba(255, 74, 28, .35); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #26262E; border-radius: 6px; border: 2px solid #0A0A0C; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- 间距收敛（首页由 home-new.css 在其后覆盖，不受影响） ---------- */
.section { margin-top: 34px; }
.list-layout { margin-top: 14px; }
.cart-page { margin: 16px auto 40px; }
.cart-empty { padding: 52px 0; }
.grid-empty { padding: 52px 0; }

/* 上下架状态控件整体可点 */
.status-ctl { display: inline-flex; align-items: center; cursor: pointer; }
.status-ctl .status-text { cursor: pointer; }
.status-toggle { cursor: pointer; }

/* 首页轮播管理快捷入口 */
.hero-admin {
  position: absolute; right: 28px; bottom: 92px; z-index: 20; display: none;
  align-items: center; gap: 6px; padding: 8px 14px; border-radius: 10px;
  font-size: 12px; letter-spacing: .05em; color: var(--text-2);
  background: rgba(21, 21, 26, .88); border: 1px solid var(--line);
  backdrop-filter: blur(6px); transition: all .2s;
}
.hero-admin:hover { color: #FF8A5B; border-color: rgba(255, 74, 28, .45); }
.hero-admin.show { display: inline-flex; }
@media (max-width: 860px) { .hero-admin { right: 16px; bottom: 110px; } }

/* 后台轮播编辑器 */
.hero-edit-card { padding: 12px 14px; display: grid; grid-template-columns: 90px 1fr 1fr; gap: 10px; align-items: start; }
.hero-edit-card .he-label { font-size: 12px; color: var(--text-3); margin-bottom: 4px; display: block; }
.hero-edit-card input[type="text"] {
  width: 100%; background: #101014; border: 1.5px solid var(--line); color: var(--text-1);
  border-radius: 8px; padding: 7px 10px; font-size: 13px;
}
.hero-edit-card input[type="text"]:focus { border-color: var(--primary); }
.hero-edit-card textarea {
  width: 100%; background: #101014; border: 1.5px solid var(--line); color: var(--text-1);
  border-radius: 8px; padding: 7px 10px; font-size: 13px; resize: vertical; min-height: 60px;
}
.hero-edit-card textarea:focus { border-color: var(--primary); }

/* ---------- 顶栏 / Header / 导航 ---------- */
.topbar { background: #101014; color: #8C8C96; border-bottom: 1px solid var(--line); }
.topbar a[href="admin.html"] { color: #FF8A5B; }
.header { background: rgba(10, 10, 12, .82); border-bottom: 1px solid var(--line); box-shadow: none; }
.search-box { background-image: linear-gradient(#15151A, #15151A), var(--grad-brand); }
.search-box input { color: var(--text-1); }
.search-box input::placeholder { color: var(--text-3); }
.btn-login { color: #FF8A5B; background-image: linear-gradient(#15151A, #15151A), var(--grad-brand); }
.btn-login:hover { color: #0A0A0C; }
.nav { background: rgba(16, 16, 20, .92); border-top: 1px solid var(--line); }

/* ---------- 金刚区 / 区块 / 卡片 ---------- */
.qn-grid { background: rgba(21, 21, 26, .85); border-color: var(--line); box-shadow: none; }
.qn-icon { border-color: rgba(255, 255, 255, .12); }
.qn-name { color: var(--text-2); }
.qn-item:hover .qn-name { color: #FF8A5B; }
.flash { background: var(--surface); box-shadow: none; border: 1px solid var(--line); }
.goods-card { box-shadow: none; border: 1px solid var(--line); background: var(--surface); }
.goods-card:hover { border-color: rgba(255, 74, 28, .45); }
.goods-info h4 { color: var(--text-1); }
.goods-sub .sales b { color: var(--text-2); }
.floor-tab { background: #15151A; border-color: var(--line); color: var(--text-2); }
.page-btn { background: #15151A; color: var(--text-2); box-shadow: none; }

/* ---------- 列表页 ---------- */
.filters { background: rgba(21, 21, 26, .85); border-color: var(--line); box-shadow: none; }
/* 分类单选胶囊：点选即切，替代多复选框 */
.cat-pill {
  display: inline-block; padding: 7px 14px; margin: 0 6px 8px 0; border-radius: 999px;
  background: #101014; border: 1px solid var(--line); color: var(--text-2);
  font-size: 13px; line-height: 1.4; cursor: pointer; transition: .2s;
}
.cat-pill:hover { border-color: rgba(255, 74, 28, .55); color: var(--text-1); }
.cat-pill.active { background: rgba(255, 74, 28, .16); border-color: #FF4A1C; color: #FF8A5B; }
.toolbar { background: rgba(21, 21, 26, .85); border-color: var(--line); box-shadow: none; }
.price-inputs { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.price-inputs input {
  width: 100%; min-width: 0; height: 34px; background: #101014; color: var(--text-1);
  border: 1.5px solid var(--line); border-radius: 8px; padding: 0 10px; font-size: 13px;
}
.price-inputs input:focus { border-color: var(--primary); }
.price-inputs span { color: var(--text-3); flex: none; }
.price-go {
  flex: none; height: 34px; padding: 0 14px; border-radius: 8px; font-size: 12px; font-weight: 600;
  background: var(--primary); color: #0A0A0C; transition: filter .2s;
}
.price-go:hover { filter: brightness(1.1); }
.deal-note { font-size: 12px; color: var(--text-3); margin: 2px 0 0 25px; }
.btn-filters { display: none; }
.btn-apply {
  width: 100%; height: 44px; border-radius: 22px; font-size: 14px; font-weight: 700;
  background: var(--grad-brand); color: #0A0A0C;
}
.grid-empty { grid-column: 1/-1; text-align: center; padding: 70px 0; color: var(--text-3); }
.grid-empty a { color: #FF8A5B; font-weight: 600; }

/* 移动端筛选抽屉（底部弹层） */
@media (max-width: 860px) {
  .filters {
    display: none; position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 800;
    width: 100%; border-radius: 20px 20px 0 0; border: none; border-top: 1px solid var(--line);
    background: #101014; max-height: 72vh; overflow-y: auto; padding-bottom: 24px;
    box-shadow: 0 -18px 50px rgba(0, 0, 0, .6);
  }
  .list-layout.filters-open .filters { display: block; }
  .btn-filters {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border-radius: 8px;
    font-size: 14px; color: var(--text-2); background: #1C1C24; transition: all .2s;
  }
  .btn-filters:hover { color: #FF8A5B; }
}

/* ---------- 详情页 ---------- */
.detail-layout { background: rgba(21, 21, 26, .88); border-color: var(--line); box-shadow: none; }
.gallery-main { border-color: var(--line); }
.price-panel { background: linear-gradient(120deg, rgba(255, 74, 28, .13), rgba(255, 74, 28, .04)); border-color: rgba(255, 74, 28, .25); }
.spec-opt { background: #15151A; border-color: var(--line); color: var(--text-2); }
.spec-opt:hover { border-color: var(--primary); color: #FF8A5B; }
.spec-opt.active { background: var(--primary-light); color: #FF8A5B; }
.qty-stepper { border-color: var(--line); }
.qty-stepper input { color: var(--text-1); background: transparent; }
.qty-stepper button:hover { background: var(--primary-light); color: #FF8A5B; }
.btn-cart { background-image: linear-gradient(#15151A, #15151A), var(--grad-brand); color: #FF8A5B; }
.btn-cart:hover { color: #0A0A0C; }
.detail-tabs { background: rgba(21, 21, 26, .88); border-color: var(--line); box-shadow: none; }
.spec-table th { background: rgba(255, 255, 255, .03); }
.group-bar { background: rgba(229, 72, 77, .08); }

/* ---------- 收银台 ---------- */
.form-item input { background: #101014; border-color: var(--line); color: var(--text-1); }
.pay-method { background: #15151A; color: var(--text-2); }
.pay-method.active { background: var(--primary-light); color: #FF8A5B; }
.pay-modal { background: rgba(0, 0, 0, .65); }
.pay-ok .ok-ico { background: rgba(43, 213, 131, .14); color: #2BD583; }
.virtual-note { background: rgba(255, 74, 28, .06); border-color: rgba(255, 74, 28, .4); color: #C9C7CF; }
.coupon-sel { background: #15151A; color: var(--text-1); border-color: var(--line); }
.c-btn:disabled { background: #2A2A32; color: #74737D; }

/* ---------- 购物车页 ---------- */
.cart-card { background: #15151A; border-color: var(--line); }
.cart-foot { background: #15151A; border-color: var(--line); }
.qty-step { border-color: var(--line); }
.qty-step button { background: #1C1C24; color: var(--text-2); }
.qty-step input { color: var(--text-1); background: transparent; }
.ci-price em, .cf-total b { color: #FF4A1C; }
.btn-cf-pay { background: linear-gradient(135deg, #FF4A1C, #FF8A5B); }

/* ---------- 会员中心 ---------- */
.member-wrap { --bg-soft: #101014; }
.auth-tab { color: var(--text-2); }
.auth-tabs { background: #101014; }
.auth-tab.active { background: #1C1C24; color: #FF8A5B; }
.mem-head { background: linear-gradient(120deg, #241411, #431D0C 60%, #7A2A10); box-shadow: 0 14px 34px rgba(255, 74, 28, .18); }
.o-status.orange { background: rgba(255, 138, 91, .15); color: #FFB08A; }
.o-status.green { background: rgba(43, 213, 131, .14); color: #2BD583; }
.o-status.gray { background: rgba(255, 255, 255, .08); color: #8C8C96; }
.o-coupon, .o-foot b { color: #FF4A1C; }
.mem-empty { background: #101014; }
.btn-code { background: rgba(255, 74, 28, .1); border-color: rgba(255, 74, 28, .5); color: #FF8A5B; }
.btn-code:hover:not(:disabled) { background: var(--primary); color: #0A0A0C; }
.o-del { background: #15151A; border-color: var(--line); color: var(--text-3); }

/* ---------- 通用弹窗白卡 / 输入 ---------- */
.pay-box input, .pay-box select, .pay-box textarea {
  background: #101014; border: 1.5px solid var(--line); color: var(--text-1); border-radius: 10px;
}
.pay-box input:focus, .pay-box select:focus, .pay-box textarea:focus { border-color: var(--primary); }

/* ---------- Toast / 搜索建议 ---------- */
.toast { background: #1C1C24; border: 1px solid rgba(255, 74, 28, .35); }
.search-sug { background: #15151A; border-color: var(--line); box-shadow: 0 12px 32px rgba(0, 0, 0, .5); }
.sug-item:hover { background: rgba(255, 74, 28, .1); }

/* ---------- Footer ---------- */
.footer { background: #101014; }
.footer h5 { color: #F4F2ED; }
.footer::before { opacity: .6; }

/* ---------- 在线客服悬浮窗 ---------- */
#csBtn { background: linear-gradient(135deg, #FF4A1C, #C93A12); box-shadow: 0 6px 20px rgba(255, 74, 28, .35); }
#csBtn .cs-dot { border-color: #0A0A0C; }
#csPanel { background: #15151A; box-shadow: 0 12px 40px rgba(0, 0, 0, .55); }
.cs-head { background: linear-gradient(135deg, #FF4A1C, #C93A12); }
.cs-body { background: #0E0E12; }
.cs-bubble { background: #1C1C24; color: #F4F2ED; box-shadow: none; }
.cs-msg.user .cs-bubble { background: #FF4A1C; color: #0A0A0C; }
.cs-foot { background: #15151A; border-top-color: var(--line); }
.cs-foot input { background: #101014; border-color: var(--line); color: var(--text-1); }
.cs-foot input:focus { border-color: var(--primary); }
.cs-foot button { background: #FF4A1C; color: #0A0A0C; }
.cs-foot #csImgBtn { background: #1C1C24; }
.cs-foot #csImgBtn:hover { background: #26262E; }
.cs-card { background: #1C1C24; border-color: var(--line); }
.cs-msg.admin .cs-bubble .cs-card { background: #1C1C24; }
.cs-coupon-l { border-right-color: #2A2A32; }
.cs-coupon-l b { color: #FF4A1C; }
.cs-coupon-l span { color: #8C8C96; }
.cs-coupon-r b { color: #F4F2ED; }
.cs-prod-info b { color: #F4F2ED; }
.cs-prod-info span { color: #FF4A1C; }
.cs-prod-info span del { color: #74737D; }
.cs-prod-info i { color: #FF8A5B; }
#csTip { background: #1C1C24; color: #F4F2ED; box-shadow: 0 8px 28px rgba(0, 0, 0, .4); }
#csTip b { color: #FF8A5B; }

/* ---------- 后台（admin.css 硬编码浅色点位） ---------- */
.login-mask { background: linear-gradient(135deg, #1A120E 0%, #2A160D 55%, #4A2010 100%); }
.login-card { background: var(--surface); }
.login-field input { background: #101014; border-color: var(--line); color: var(--text-1); }
.login-field input:focus { border-color: var(--primary); }
.admin-bg { background: #0A0A0C !important; }
.admin-table th { background: #101014; }
.admin-table tbody tr:hover { background: rgba(255, 74, 28, .05); }
.admin-table td, .admin-table th { border-color: var(--line); }
.admin-table, .admin-card, .a-panel { border-color: var(--line); }
.admin-card, .a-panel { background: var(--surface); }
.admin-input, .admin-select, .admin-textarea, .order-filters input, .order-filters select {
  background: #101014; border-color: var(--line); color: var(--text-1);
}
.admin-input:focus, .order-filters input:focus { border-color: var(--primary); }
.form-error { background: rgba(229, 72, 77, .12); color: #FF8A8A; }
.fc-prod-opt { background: #1C1C24; color: var(--text-2); }
.img-item { background: #101014; border-color: var(--line); }
.cs-list, .cs-chat { background: #15151A; border-color: var(--line); }
.cs-thread { border-color: var(--line); color: var(--text-1); }
.cs-thread:hover { background: rgba(255, 255, 255, .04); }
.cs-thread.on { background: rgba(255, 74, 28, .1); }
.cs-chat-body { background: #0E0E12; }
.cs-admin-msg.user .cs-admin-bubble { background: #1C1C24; color: #F4F2ED; border-color: var(--line); }
.cs-admin-msg.admin .cs-admin-bubble { background: #FF4A1C; color: #0A0A0C; }
.cs-tool { background: #1C1C24; color: #F4F2ED; border-color: var(--line); }
.cs-notify { background: #1C1C24; color: #F4F2ED; border-color: var(--line); }
.cs-notify b { color: #F4F2ED; }
.cs-coupon-form { background: rgba(255, 74, 28, .05); color: #C9B8A8; border-color: var(--line); }
.cs-coupon-form .btn.ghost { background: #15151A; border-color: var(--line); }
.cs-admin-bubble .cs-admin-card { background: #1C1C24; border-color: var(--line); color: #F4F2ED; }
.copyable { color: #F4F2ED; }

/* ---------- 后台批量操作栏 ---------- */
.batch-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 14px 0 4px; padding: 10px 14px; background: rgba(21, 21, 26, .85); border: 1px solid var(--line); border-radius: 12px; }
.batch-bar .b-sel { font-size: 13px; color: var(--text-2); }
.batch-bar .b-sel b { color: var(--accent); font-family: var(--mono, monospace); }
.batch-bar .b-tip { font-size: 11px; color: var(--text-3); margin-left: auto; }
.batch-select { background: #101014; color: var(--text-1); border: 1px solid var(--line); border-radius: 8px; padding: 5px 8px; font-size: 13px; }
.batch-select:disabled { opacity: .45; cursor: not-allowed; }
.admin-table input[type="checkbox"] { accent-color: #FF4A1C; width: 15px; height: 15px; cursor: pointer; }
