﻿/* ==================== 新架构：首页/陪读/发现/积分 ==================== */

/* ---------- 首页 ---------- */
.home-header__baby { display:flex; align-items:center; gap:10px; }
.home-header__avatar { width:36px; height:36px; border-radius:50%; background:#ffe4ec; display:flex; align-items:center; justify-content:center; font-size:20px; overflow:hidden; }
.home-header__avatar img { width:100%; height:100%; object-fit:cover; }
.home-header__name { font-size:15px; font-weight:600; color:#333; }
.home-header__sub { font-size:11px; color:#999; margin-top:2px; }

.home-today { margin:12px; padding:16px; background:linear-gradient(135deg,#ff8fab 0%,#ff6f9c 100%); border-radius:16px; color:#fff; }
.home-today__title { font-size:16px; font-weight:600; margin-bottom:12px; display:flex; align-items:center; gap:6px; }
.home-today__tasks { display:flex; flex-direction:column; gap:8px; }
.home-task { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.2); border-radius:10px; padding:10px 12px; }
.home-task--done { opacity:0.7; }
.home-task--loading, .home-task--empty { justify-content:center; color:rgba(255,255,255,0.8); font-size:13px; }
.home-task__check { width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,0.3); display:flex; align-items:center; justify-content:center; font-size:12px; flex-shrink:0; }
.home-task--done .home-task__check { background:#fff; color:#ff6f9c; }
.home-task__info { flex:1; }
.home-task__label { font-size:14px; font-weight:500; }
.home-task__points { font-size:11px; opacity:0.9; margin-top:2px; }
.home-task__btn { background:#fff; color:#ff6f9c; border:none; border-radius:15px; padding:5px 12px; font-size:12px; font-weight:600; }
.home-task__done { font-size:12px; opacity:0.9; }

.home-quick { margin:12px; padding:16px; background:#fff; border-radius:16px; }
.home-quick__title { font-size:15px; font-weight:600; color:#333; margin-bottom:14px; display:flex; justify-content:space-between; align-items:center; }
.home-quick__more { font-size:12px; color:#ff6f9c; font-weight:400; }
.home-quick__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.quick-item { display:flex; flex-direction:column; align-items:center; gap:6px; background:none; border:none; padding:8px 0; }
.quick-item__icon { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; }
.quick-item__icon--pink { background:#ffe4ec; }
.quick-item__icon--blue { background:#e0f0ff; }
.quick-item__icon--green { background:#e0f5e0; }
.quick-item__icon--orange { background:#fff0e0; }
.quick-item__label { font-size:12px; color:#555; }

.home-stats { margin:12px; padding:16px; background:#fff; border-radius:16px; }
.home-stats__title { font-size:15px; font-weight:600; color:#333; margin-bottom:14px; }
.home-stats__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.home-stat { text-align:center; padding:10px; background:#f8f9fa; border-radius:12px; }
.home-stat--loading, .home-stat--empty { grid-column:1/-1; color:#999; font-size:13px; }
.home-stat__n { font-size:22px; font-weight:700; color:#ff6f9c; }
.home-stat__l { font-size:11px; color:#999; margin-top:4px; }

.home-tip { margin:12px; padding:14px 16px; background:#fff8e1; border-radius:12px; display:flex; align-items:center; gap:10px; }
.home-tip__icon { font-size:18px; flex-shrink:0; }
.home-tip__text { font-size:13px; color:#795548; line-height:1.5; }

/* ---------- 陪读页 ---------- */
.peidu-child-btn { background:none; border:none; font-size:14px; color:#555; display:flex; align-items:center; gap:4px; }
.peidu-subnav { display:flex; background:#fff; border-bottom:1px solid #f0f0f0; padding:0 12px; }
.peidu-subnav__item { flex:1; padding:12px 0; text-align:center; font-size:14px; color:#999; background:none; border:none; position:relative; }
.peidu-subnav__item--on { color:#ff6f9c; font-weight:600; }
.peidu-subnav__item--on::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:24px; height:3px; background:#ff6f9c; border-radius:2px; }
.peidu-content { padding:12px; min-height:400px; }
.peidu-loading { text-align:center; padding:40px; color:#999; font-size:14px; }
.peidu-empty { text-align:center; padding:40px; color:#999; font-size:14px; }

.peidu-tasks__progress { font-size:13px; color:#666; margin-bottom:12px; text-align:right; }
.peidu-task { display:flex; align-items:center; gap:12px; background:#fff; border-radius:12px; padding:14px; margin-bottom:10px; }
.peidu-task--done { opacity:0.6; }
.peidu-task__check { width:24px; height:24px; border-radius:50%; border:2px solid #ddd; display:flex; align-items:center; justify-content:center; font-size:14px; color:#fff; flex-shrink:0; }
.peidu-task--done .peidu-task__check { background:#4caf50; border-color:#4caf50; }
.peidu-task__info { flex:1; }
.peidu-task__label { font-size:15px; font-weight:500; color:#333; }
.peidu-task__points { font-size:12px; color:#ff9800; margin-top:3px; }
.peidu-task__btn { background:#ff6f9c; color:#fff; border:none; border-radius:16px; padding:6px 16px; font-size:13px; font-weight:500; }
.peidu-task__done { font-size:13px; color:#4caf50; font-weight:500; }

.peidu-reward-entry { display:flex; align-items:center; gap:12px; background:#fff3e0; border-radius:12px; padding:14px; margin-top:12px; }
.peidu-reward-entry__icon { font-size:28px; }
.peidu-reward-entry__info { flex:1; }
.peidu-reward-entry__title { font-size:14px; font-weight:600; color:#e65100; }
.peidu-reward-entry__sub { font-size:12px; color:#ff9800; margin-top:2px; }
.peidu-reward-entry__arrow { font-size:20px; color:#ff9800; }

.peidu-tools__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:16px; }
.peidu-tool { background:#fff; border-radius:14px; padding:16px; text-align:left; border:none; display:flex; flex-direction:column; gap:6px; }
.peidu-tool__icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:4px; }
.peidu-tool__icon--pink { background:#ffe4ec; }
.peidu-tool__icon--blue { background:#e0f0ff; }
.peidu-tool__icon--orange { background:#fff0e0; }
.peidu-tool__icon--green { background:#e0f5e0; }
.peidu-tool__label { font-size:15px; font-weight:600; color:#333; }
.peidu-tool__desc { font-size:12px; color:#999; }
.peidu-tools__more { background:#f8f9fa; border-radius:12px; padding:14px; }
.peidu-tools__more-title { font-size:13px; color:#999; margin-bottom:10px; }
.peidu-tools__more-list { display:flex; flex-wrap:wrap; gap:8px; }
.peidu-tool--disabled { background:#eee; color:#bbb; padding:6px 12px; border-radius:8px; font-size:12px; }

.peidu-calendar { background:#fff; border-radius:14px; padding:16px; }
.peidu-calendar__header { font-size:16px; font-weight:600; color:#333; text-align:center; margin-bottom:14px; }
.peidu-calendar__weekdays { display:grid; grid-template-columns:repeat(7,1fr); text-align:center; font-size:12px; color:#999; margin-bottom:8px; }
.peidu-calendar__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.peidu-calendar__day { aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:13px; color:#666; border-radius:8px; }
.peidu-calendar__day--empty { visibility:hidden; }
.peidu-calendar__day--has { background:#ffe4ec; color:#ff6f9c; font-weight:600; }
.peidu-calendar__day--all { background:#ff6f9c; color:#fff; }
.peidu-calendar__day--today { border:2px solid #ff6f9c; }
.peidu-calendar__stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; padding-top:16px; border-top:1px solid #f0f0f0; }
.peidu-calendar__stat { text-align:center; }
.peidu-calendar__stat-n { font-size:20px; font-weight:700; color:#ff6f9c; display:block; }
.peidu-calendar__stat span:last-child { font-size:12px; color:#999; }

.peidu-points-bar { position:fixed; bottom:60px; left:12px; right:12px; background:#fff; border-radius:12px; padding:10px 14px; display:flex; align-items:center; gap:8px; box-shadow:0 2px 12px rgba(0,0,0,0.1); z-index:100; }
.peidu-points__icon { font-size:16px; }
.peidu-points__num { font-size:18px; font-weight:700; color:#ff9800; }
.peidu-points__label { font-size:12px; color:#666; flex:1; }
.peidu-points__detail { font-size:12px; color:#ff6f9c; }

/* ---------- 陪读工具页通用 ---------- */
.peidu-tool-page { padding:12px; padding-bottom:80px; }
.peidu-form { background:#fff; border-radius:14px; padding:16px; margin-bottom:16px; }
.peidu-form__item { margin-bottom:16px; }
.peidu-form__item:last-child { margin-bottom:0; }
.peidu-form__label { display:block; font-size:13px; color:#666; margin-bottom:8px; font-weight:500; }
.peidu-form__input, .peidu-form__select, .peidu-form__textarea { width:100%; padding:10px 12px; border:1px solid #e0e0e0; border-radius:8px; font-size:14px; box-sizing:border-box; }
.peidu-form__textarea { min-height:80px; resize:vertical; }
.peidu-form__tags { display:flex; flex-wrap:wrap; gap:8px; }
.peidu-tag { padding:6px 14px; background:#f5f5f5; border-radius:16px; font-size:13px; color:#666; cursor:pointer; border:none; }
.peidu-tag--on { background:#ff6f9c; color:#fff; }
.peidu-form__range { display:flex; align-items:center; gap:8px; }
.peidu-form__range .peidu-form__input { flex:1; }

.btn--block { width:100%; padding:12px; font-size:15px; border-radius:10px; }
.btn--small { padding:4px 10px; font-size:12px; border-radius:8px; }

/* ---------- 口算生成 ---------- */
.peidu-math-result { background:#fff; border-radius:14px; padding:16px; margin-top:16px; }
.peidu-math-result__header { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.peidu-math-result__title { font-size:15px; font-weight:600; color:#333; }
.peidu-math-result__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.peidu-math__item { font-size:15px; color:#333; padding:8px; }
.peidu-math__num { color:#999; margin-right:4px; }
.peidu-math-result__answer { margin-top:16px; padding-top:16px; border-top:1px dashed #e0e0e0; }
.peidu-math-result__answer-title { font-size:14px; font-weight:600; color:#666; margin-bottom:10px; }
.peidu-math-result__answer-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }

/* ---------- 阅读打卡 ---------- */
.peidu-reading-stats { margin-bottom:16px; }
.peidu-stat-card { display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border-radius:14px; padding:16px; gap:10px; }
.peidu-stat-card__item { text-align:center; }
.peidu-stat-card__n { font-size:22px; font-weight:700; color:#ff6f9c; display:block; }
.peidu-stat-card__item span:last-child { font-size:12px; color:#999; }
.peidu-reading-list { margin-top:16px; }
.peidu-reading__title { font-size:14px; font-weight:600; color:#666; margin-bottom:10px; }
.peidu-reading__item { background:#fff; border-radius:10px; padding:12px; margin-bottom:8px; }
.peidu-reading__book { font-size:14px; font-weight:500; color:#333; }
.peidu-reading__meta { font-size:12px; color:#999; margin-top:4px; }
.peidu-reading__note { font-size:13px; color:#666; margin-top:6px; padding-top:6px; border-top:1px dashed #f0f0f0; }

/* ---------- 作业收纳 ---------- */
.peidu-homework-add { display:flex; gap:8px; margin-bottom:16px; background:#fff; border-radius:12px; padding:12px; }
.peidu-homework-add .peidu-form__input { flex:1; }
.peidu-homework-add .peidu-form__select { width:80px; }
.peidu-hw__group { font-size:13px; color:#999; margin:12px 0 8px; font-weight:500; }
.peidu-hw__item { display:flex; align-items:center; gap:10px; background:#fff; border-radius:10px; padding:12px; margin-bottom:8px; }
.peidu-hw__item--done { opacity:0.6; }
.peidu-hw__item--done .peidu-hw__content { text-decoration:line-through; }
.peidu-hw__check { width:22px; height:22px; border-radius:50%; border:2px solid #ddd; background:none; color:#fff; font-size:13px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.peidu-hw__item--done .peidu-hw__check { background:#4caf50; border-color:#4caf50; }
.peidu-hw__info { flex:1; display:flex; align-items:center; gap:8px; }
.peidu-hw__subject { background:#e3f2fd; color:#1976d2; font-size:11px; padding:2px 6px; border-radius:4px; flex-shrink:0; }
.peidu-hw__content { font-size:14px; color:#333; }
.peidu-hw__delete { background:none; border:none; color:#ccc; font-size:18px; padding:4px 8px; }

/* ---------- 作息表 ---------- */
.peidu-schedule { background:#fff; border-radius:14px; padding:16px; margin-bottom:16px; }
.peidu-schedule__title { font-size:16px; font-weight:600; color:#333; text-align:center; margin-bottom:16px; }
.peidu-schedule__list { display:flex; flex-direction:column; gap:0; }
.peidu-schedule__item { display:flex; gap:14px; padding:10px 0; border-bottom:1px solid #f5f5f5; }
.peidu-schedule__item:last-child { border-bottom:none; }
.peidu-schedule__time { width:60px; font-size:14px; font-weight:600; color:#ff6f9c; flex-shrink:0; }
.peidu-schedule__task { flex:1; font-size:14px; color:#333; }
.peidu-schedule-actions { display:flex; gap:10px; }
.peidu-schedule-actions .btn { flex:1; }

/* ---------- 奖励契约 ---------- */
.peidu-reward-stars { margin-bottom:16px; }
.peidu-stars-card { display:flex; align-items:center; gap:14px; background:linear-gradient(135deg,#ffd54f 0%,#ff9800 100%); border-radius:14px; padding:16px; color:#fff; }
.peidu-stars-card__icon { font-size:36px; }
.peidu-stars-card__info { flex:1; }
.peidu-stars-card__num { font-size:28px; font-weight:700; }
.peidu-stars-card__label { font-size:12px; opacity:0.9; }
.peidu-stars-card__detail { font-size:12px; opacity:0.9; text-align:right; }
.peidu-reward-add { display:flex; gap:8px; margin-bottom:16px; background:#fff; border-radius:12px; padding:12px; }
.peidu-reward-add .peidu-form__input { flex:1; }
.peidu-reward__item { display:flex; align-items:center; gap:12px; background:#fff; border-radius:12px; padding:14px; margin-bottom:8px; position:relative; }
.peidu-reward__icon { font-size:28px; }
.peidu-reward__info { flex:1; }
.peidu-reward__name { font-size:14px; font-weight:500; color:#333; }
.peidu-reward__cost { font-size:12px; color:#ff9800; margin-top:3px; }
.peidu-reward__delete { position:absolute; top:6px; right:8px; background:none; border:none; color:#ccc; font-size:16px; }
.peidu-reward-tip { margin-top:16px; padding:12px; background:#fff8e1; border-radius:10px; font-size:12px; color:#795548; text-align:center; }

/* ---------- 发现页 ---------- */
.discover-subnav { display:flex; background:#fff; border-bottom:1px solid #f0f0f0; padding:0 12px; }
.discover-subnav__item { flex:1; padding:12px 0; text-align:center; font-size:14px; color:#999; background:none; border:none; position:relative; }
.discover-subnav__item--on { color:#9c27b0; font-weight:600; }
.discover-subnav__item--on::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:24px; height:3px; background:#9c27b0; border-radius:2px; }
.discover-content { padding:12px; min-height:400px; }
.discover-loading { text-align:center; padding:40px; color:#999; }
.discover-empty { text-align:center; padding:40px; color:#999; font-size:14px; }
.discover-empty a { color:#9c27b0; }

.discover-posts { display:flex; flex-direction:column; gap:12px; }
.discover-post { background:#fff; border-radius:14px; padding:14px; }
.discover-post__header { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.discover-post__avatar { width:36px; height:36px; border-radius:50%; background:#f0f0f0; display:flex; align-items:center; justify-content:center; font-size:18px; overflow:hidden; }
.discover-post__avatar img { width:100%; height:100%; object-fit:cover; }
.discover-post__name { font-size:14px; font-weight:500; color:#333; }
.discover-post__time { font-size:11px; color:#999; margin-left:auto; }
.discover-post__content { font-size:14px; color:#333; line-height:1.6; margin-bottom:10px; }
.discover-post__img { margin-bottom:10px; border-radius:8px; overflow:hidden; }
.discover-post__img--single img { width:100%; max-height:300px; object-fit:cover; }
.discover-post__img--grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.discover-post__img--grid img { width:100%; aspect-ratio:1; object-fit:cover; }
.discover-post__footer { display:flex; gap:20px; font-size:13px; color:#999; }

.discover-buddy__tip { font-size:13px; color:#666; margin-bottom:12px; }
.discover-buddy__list { display:flex; flex-direction:column; gap:10px; }
.discover-buddy__card { display:flex; align-items:center; gap:12px; background:#fff; border-radius:12px; padding:14px; }
.discover-buddy__avatar { width:44px; height:44px; border-radius:50%; background:#f0f0f0; display:flex; align-items:center; justify-content:center; font-size:20px; overflow:hidden; }
.discover-buddy__avatar img { width:100%; height:100%; object-fit:cover; }
.discover-buddy__info { flex:1; }
.discover-buddy__name { font-size:14px; font-weight:500; color:#333; }
.discover-buddy__meta { font-size:12px; color:#999; margin-top:3px; }
.discover-buddy__btn { background:#9c27b0; color:#fff; border:none; border-radius:14px; padding:6px 14px; font-size:12px; }

.discover-story__create { display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,#ce93d8 0%,#9c27b0 100%); border-radius:14px; padding:16px; color:#fff; margin-bottom:14px; }
.discover-story__create-icon { font-size:32px; }
.discover-story__create-text { flex:1; }
.discover-story__create-title { font-size:15px; font-weight:600; }
.discover-story__create-sub { font-size:12px; opacity:0.9; margin-top:3px; }
.discover-story__create-arrow { font-size:20px; }
.discover-story__list { display:flex; flex-direction:column; gap:10px; }
.discover-story__card { display:flex; gap:12px; background:#fff; border-radius:12px; padding:12px; }
.discover-story__cover { width:60px; height:60px; border-radius:8px; background:#f0f0f0; display:flex; align-items:center; justify-content:center; font-size:24px; overflow:hidden; flex-shrink:0; }
.discover-story__cover img { width:100%; height:100%; object-fit:cover; }
.discover-story__info { flex:1; }
.discover-story__title { font-size:14px; font-weight:500; color:#333; }
.discover-story__meta { font-size:12px; color:#999; margin-top:6px; }

/* ---------- 积分页 ---------- */
.points-page { padding:12px; padding-bottom:40px; }
.points-header { background:linear-gradient(135deg,#ffd54f 0%,#ff9800 100%); border-radius:16px; padding:20px; color:#fff; margin-bottom:16px; }
.points-header__balance { text-align:center; margin-bottom:14px; }
.points-header__num { font-size:40px; font-weight:700; }
.points-header__label { font-size:13px; opacity:0.9; margin-top:4px; }
.points-header__level { display:inline-block; background:rgba(255,255,255,0.2); border-radius:12px; padding:4px 12px; font-size:13px; margin-top:8px; }
.points-header__progress-bar { height:8px; background:rgba(255,255,255,0.3); border-radius:4px; overflow:hidden; }
.points-header__progress-fill { height:100%; background:#fff; border-radius:4px; transition:width 0.3s; }
.points-header__progress-text { font-size:12px; opacity:0.9; text-align:center; margin-top:8px; }
.points-header__total { font-size:12px; opacity:0.9; text-align:center; margin-top:10px; }

.points-levels { background:#fff; border-radius:14px; padding:16px; margin-bottom:16px; }
.points-levels__title { font-size:14px; font-weight:600; color:#333; margin-bottom:12px; }
.points-levels__list { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.points-level__item { text-align:center; padding:10px 4px; background:#f8f9fa; border-radius:10px; }
.points-level__item--on { background:#fff3e0; border:1px solid #ff9800; }
.points-level__icon { font-size:20px; }
.points-level__name { font-size:12px; color:#333; margin-top:4px; font-weight:500; }
.points-level__min { font-size:10px; color:#999; margin-top:2px; }

.points-tabs { display:flex; gap:8px; margin-bottom:12px; overflow-x:auto; padding-bottom:4px; }
.points-tab { padding:6px 14px; background:#fff; border-radius:14px; font-size:13px; color:#666; white-space:nowrap; border:none; }
.points-tab--on { background:#ff9800; color:#fff; }

.points-list { background:#fff; border-radius:14px; overflow:hidden; }
.points-log__item { display:flex; align-items:center; gap:12px; padding:14px; border-bottom:1px solid #f5f5f5; }
.points-log__item:last-child { border-bottom:none; }
.points-log__info { flex:1; }
.points-log__title { font-size:14px; color:#333; }
.points-log__meta { font-size:11px; color:#999; margin-top:3px; }
.points-log__points { font-size:16px; font-weight:600; }
.points-log__points--plus { color:#4caf50; }
.points-log__points--minus { color:#f44336; }

/* ---------- 我的页积分展示 ---------- */
.profile-points-card { margin:12px; background:linear-gradient(135deg,#ffd54f 0%,#ff9800 100%); border-radius:14px; padding:16px; color:#fff; display:flex; align-items:center; gap:14px; }
.profile-points-card__icon { font-size:32px; }
.profile-points-card__info { flex:1; }
.profile-points-card__num { font-size:24px; font-weight:700; }
.profile-points-card__label { font-size:12px; opacity:0.9; }
.profile-points-card__level { font-size:12px; background:rgba(255,255,255,0.2); border-radius:10px; padding:3px 8px; margin-top:4px; display:inline-block; }
.profile-points-card__arrow { font-size:20px; opacity:0.8; }

@media print {
  .tabbar, .peidu-points-bar, .btn, .peidu-subnav, .discover-subnav { display:none !important; }
  .peidu-math-result { box-shadow:none; }
}

/* ==================== 拼单优惠 ==================== */
.gb-banner {
  background: linear-gradient(135deg, #ff6b9d, #ff8e53);
  color: #fff;
  padding: 20px 16px;
  margin: 12px;
  border-radius: 12px;
}
.gb-banner__title { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.gb-banner__sub { font-size: 13px; opacity: 0.9; }

.gb-list { padding: 0 12px 20px; }
.gb-loading { text-align: center; padding: 40px; color: #999; }
.gb-empty { text-align: center; padding: 40px; color: #999; }

.gb-card {
  background: #fff;
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.gb-card__cover { width: 100%; height: 160px; overflow: hidden; }
.gb-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.gb-card__body { padding: 12px; }
.gb-card__title { font-size: 16px; font-weight: 600; color: #333; margin-bottom: 4px; }
.gb-card__desc { font-size: 13px; color: #888; margin-bottom: 8px; }
.gb-card__footer { display: flex; justify-content: space-between; align-items: flex-end; }
.gb-card__price { display: flex; align-items: baseline; gap: 6px; }
.gb-card__now { font-size: 22px; font-weight: 700; color: #ff4757; }
.gb-card__old { font-size: 13px; color: #bbb; text-decoration: line-through; }
.gb-card__discount { font-size: 11px; background: #ff4757; color: #fff; padding: 2px 6px; border-radius: 4px; }
.gb-card__meta { font-size: 12px; color: #999; }

/* 发现页拼单入口 */
.gb-entry-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(135deg, #fff0f5, #fff5e6);
  margin: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #ffe0cc;
}
.gb-entry-banner__title { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 2px; }
.gb-entry-banner__sub { font-size: 12px; color: #999; }
.gb-entry-banner__right { font-size: 13px; color: #ff6b9d; font-weight: 500; }

/* 活动详情 */
.gb-detail__cover { width: 100%; height: 200px; overflow: hidden; }
.gb-detail__cover img { width: 100%; height: 100%; object-fit: cover; }
.gb-detail__body { padding: 16px; }
.gb-detail__title { font-size: 20px; font-weight: 700; color: #333; margin-bottom: 8px; }
.gb-detail__price-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.gb-detail__price { font-size: 28px; font-weight: 700; color: #ff4757; }
.gb-detail__old { font-size: 14px; color: #bbb; text-decoration: line-through; }
.gb-detail__discount { font-size: 12px; background: #ff4757; color: #fff; padding: 2px 8px; border-radius: 4px; }
.gb-detail__meta { display: flex; gap: 16px; font-size: 13px; color: #888; margin-bottom: 16px; }
.gb-detail__section { margin-bottom: 20px; }
.gb-detail__section-title { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 8px; padding-left: 8px; border-left: 3px solid #ff6b9d; }
.gb-detail__desc { font-size: 14px; color: #666; line-height: 1.6; }
.gb-detail__rules { font-size: 13px; color: #888; line-height: 2; }
.gb-teams__tip { font-size: 13px; color: #999; padding: 12px; background: #f9f9f9; border-radius: 8px; }

.gb-action-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
  display: flex;
  gap: 10px;
  z-index: 100;
}
.gb-btn {
  flex: 1;
  height: 44px;
  border-radius: 22px;
  font-size: 15px;
  font-weight: 600;
  border: none;
  cursor: pointer;
}
.gb-btn--primary { background: linear-gradient(135deg, #ff6b9d, #ff8e53); color: #fff; }
.gb-btn--outline { background: #fff; color: #ff6b9d; border: 1px solid #ff6b9d; }

/* 队伍详情 */
.gb-team {
  background: #fff;
  margin: 12px;
  padding: 20px;
  border-radius: 12px;
  text-align: center;
}
.gb-team--pending { border: 2px solid #ff6b9d; }
.gb-team--success { border: 2px solid #52c41a; }
.gb-team--fail { border: 2px solid #ddd; }
.gb-team__status { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.gb-team--pending .gb-team__status { color: #ff6b9d; }
.gb-team--success .gb-team__status { color: #52c41a; }
.gb-team__title { font-size: 16px; color: #333; margin-bottom: 4px; }
.gb-team__price { font-size: 24px; font-weight: 700; color: #ff4757; margin-bottom: 16px; }
.gb-team__progress { margin-bottom: 8px; }
.gb-team__progress-bar { height: 8px; background: #f0f0f0; border-radius: 4px; overflow: hidden; margin-bottom: 6px; }
.gb-team__progress-fill { height: 100%; background: linear-gradient(90deg, #ff6b9d, #ff8e53); border-radius: 4px; transition: width 0.3s; }
.gb-team__progress-text { font-size: 13px; color: #888; }
.gb-team__countdown { font-size: 13px; color: #ff6b9d; margin-bottom: 12px; }
.gb-team__leader { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; }
.gb-team__avatar { width: 32px; height: 32px; border-radius: 50%; overflow: hidden; background: #f0f0f0; display: flex; align-items: center; justify-content: center; font-size: 16px; }
.gb-team__avatar img { width: 100%; height: 100%; object-fit: cover; }
.gb-team__leader-name { font-size: 13px; color: #666; }

/* 优惠券列表 */
.gb-coupon-tabs { display: flex; padding: 12px; gap: 8px; overflow-x: auto; }
.gb-coupon-tab {
  flex-shrink: 0;
  padding: 6px 16px;
  border-radius: 16px;
  font-size: 13px;
  background: #f5f5f5;
  color: #666;
  border: none;
  cursor: pointer;
}
.gb-coupon-tab--on { background: #ff6b9d; color: #fff; }

.gb-coupon-list { padding: 0 12px 20px; }
.gb-coupon {
  display: flex;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
.gb-coupon__left {
  width: 100px;
  background: linear-gradient(135deg, #ff6b9d, #ff8e53);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 8px;
}
.gb-coupon--used .gb-coupon__left, .gb-coupon--expired .gb-coupon__left { background: #ccc; }
.gb-coupon__value { font-size: 24px; font-weight: 700; }
.gb-coupon__label { font-size: 11px; opacity: 0.9; }
.gb-coupon__right { flex: 1; padding: 12px; position: relative; }
.gb-coupon__title { font-size: 14px; font-weight: 600; color: #333; margin-bottom: 4px; }
.gb-coupon__code { font-size: 12px; color: #888; margin-bottom: 2px; }
.gb-coupon__expire { font-size: 11px; color: #aaa; }
.gb-coupon__status {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
}
.gb-coupon--unused .gb-coupon__status { background: #e6f7e6; color: #52c41a; }
.gb-coupon--used .gb-coupon__status { background: #f0f0f0; color: #999; }
.gb-coupon--expired .gb-coupon__status { background: #f0f0f0; color: #999; }

/* 优惠券详情弹窗 */
.gb-coupon-detail-modal {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.gb-coupon-detail-card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  width: 80%;
  max-width: 320px;
  text-align: center;
}
.gb-coupon-detail__title { font-size: 16px; font-weight: 600; color: #333; margin-bottom: 8px; }
.gb-coupon-detail__value { font-size: 36px; font-weight: 700; color: #ff4757; margin-bottom: 16px; }
.gb-coupon-detail__code-box { background: #f9f9f9; border-radius: 8px; padding: 16px; margin-bottom: 12px; }
.gb-coupon-detail__code-label { font-size: 12px; color: #999; margin-bottom: 4px; }
.gb-coupon-detail__code { font-size: 24px; font-weight: 700; color: #333; letter-spacing: 4px; }
.gb-coupon-detail__tip { font-size: 12px; color: #999; margin-bottom: 16px; }

/* 等级权益卡片增强 */
.points-level__item {
  display: block;
  padding: 12px;
}
.points-level__header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.points-level__reward {
  font-size: 12px;
  color: #888;
  line-height: 1.5;
  padding: 6px 8px;
  background: #f9f9f9;
  border-radius: 6px;
  margin-bottom: 4px;
}
.points-level__item--on .points-level__reward {
  background: rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.9);
}
.points-level__grant {
  font-size: 11px;
  color: #ff6b9d;
  font-weight: 600;
}
.points-level__item--on .points-level__grant {
  color: #fff;
}

/* ---------- AI试衣入口按钮 ---------- */
.ai-tryon-entry {
  background: linear-gradient(135deg, #ff6b9d 0%, #ff8e53 100%);
  color: #fff;
  border: none;
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(255, 107, 157, 0.4);
  animation: ai-tryon-pulse 2s ease-in-out infinite;
  white-space: nowrap;
}
.ai-tryon-entry:active {
  transform: scale(0.95);
}
@keyframes ai-tryon-pulse {
  0%, 100% { box-shadow: 0 2px 8px rgba(255, 107, 157, 0.4); }
  50% { box-shadow: 0 2px 16px rgba(255, 107, 157, 0.7); }
}