/* ===== 公共样式 - 全站共享 ===== */

/* 全局 reset */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  background: linear-gradient(180deg, #040515 0%, #2D313E 100%);
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Helvetica Neue', sans-serif;
  color: #fff;
  padding-bottom: 80px;
}

/* 工具类 */
.text-title { color: #FFFFFF; }
.text-sub { color: #fff; }
.text-body { color: #fff; }
.bg-card { background: rgba(45, 49, 62, 0.6); backdrop-filter: blur(10px); border: 1px solid rgba(124, 132, 147, 0.15); }

/* 主按钮 */
.btn-primary {
  background: #6464F4; color: #FFFFFF; border-radius: 8px; border: none;
  padding: 10px 24px; font-size: 14px; cursor: pointer; transition: all 0.3s;
}
.btn-primary:hover, .btn-primary:active {
  background: #fff; color: #6464F4; filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.5));
}

/* 价格 */
.price-original { text-decoration: line-through; color: #fff; }
.price-member { color: #E53935; font-weight: 700; }

/* 分割线 */
.divider { width: 40%; height: 1px; background: linear-gradient(90deg, transparent, #fff, transparent); margin: 16px auto; }

/* 底部固定栏 */
.bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; height: 56px; display: flex; z-index: 1000; }
.bottom-bar .btn-service {
  flex: 6; color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 600; cursor: pointer; border: none;
  animation: breathe-gradient 3s ease-in-out infinite;
}
@keyframes breathe-gradient {
  0%   { background: #E53935; }
  50%  { background: #7B1FA2; }
  100% { background: #E53935; }
}
.bottom-bar .btn-agent {
  flex: 4; background: #7084F8; color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; cursor: pointer; border: none;
}

/* 弹窗 */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 2000;
  display: flex; align-items: center; justify-content: center;
}
.modal-box {
  background: #2D313E; border-radius: 16px; padding: 24px; max-width: 340px; width: 90%;
  border: 1px solid rgba(124, 132, 147, 0.2);
}

/* 公告滚动 */
.notice-scroll { height: 40px; overflow: hidden; position: relative; }
.notice-item { height: 40px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; font-size: 13px; color: #fff; cursor: pointer; }
.notice-title { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notice-time { flex-shrink: 0; margin-left: 12px; font-size: 11px; opacity: 0.6; }
.notice-roll { transition: transform 0.5s ease; }

/* Swiper */
.swiper-pagination-bullet-active { background: #6464F4 !important; }

/* 页脚 */
.footer-info { text-align: center; padding: 24px 16px 8px; font-size: 12px; }

/* 选货车浮动按钮 */
.float-cart-btn {
  position: fixed; bottom: 72px; right: 16px; width: 52px; height: 52px;
  border-radius: 50%; background: #E53935; color: #FFFFFF; border: none;
  box-shadow: 0 4px 16px rgba(229,57,53,0.4);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; cursor: pointer; z-index: 1001;
  transition: transform 0.2s;
}
.float-cart-btn:active { transform: scale(0.9); }
.float-cart-btn .cart-badge {
  position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px;
  background: #FFFFFF; color: #E53935; border-radius: 10px;
  font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center;
  padding: 0 5px;
}

/* 选货车列表 */
.cart-item-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(124,132,147,0.1); }
.cart-item-row:last-child { border-bottom: none; }
.cart-item-img { width: 44px; height: 44px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name { font-size: 13px; color: #FFFFFF; line-clamp: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cart-item-price { font-size: 12px; color: #E53935; font-weight: 600; }
.cart-qty-btn { width: 28px; height: 28px; border-radius: 6px; border: 1px solid rgba(124,132,147,0.3); background: transparent; color: #FFFFFF; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.cart-qty-btn:active { background: rgba(100,100,244,0.2); }
.cart-qty-num { width: 28px; text-align: center; font-size: 14px; color: #FFFFFF; font-weight: 600; }
.cart-del-btn { color: #7C8493; cursor: pointer; font-size: 18px; background: none; border: none; padding: 4px; }
.cart-del-btn:active { color: #E53935; }
.cart-summary { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; margin-top: 8px; border-top: 1px solid rgba(124,132,147,0.2); }
.cart-empty { text-align: center; color: #7C8493; padding: 32px 0; font-size: 14px; }
