/* 用户端 H5 样式
   作者：星球软件CEWWW
   移动端圆角 ≤ 3px */

.m-body { background: var(--bg); max-width: 750px; margin: 0 auto; min-height: 100vh; padding-bottom: 60px; }
.m-header { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: var(--white); padding: 12px 15px; position: sticky; top: 0; z-index: 100; display: flex; align-items: center; gap: 10px; }
.m-header .back { font-size: 18px; }
.m-header .title { font-size: 16px; font-weight: 600; flex: 1; text-align: center; }
.m-header .action { font-size: 18px; }

.m-content { padding: 10px; }

/* 底部导航 */
.m-tabbar { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 750px; background: var(--white); border-top: 1px solid var(--gray-border); display: flex; z-index: 99; padding: 5px 0; }
.m-tabbar a { flex: 1; text-align: center; color: var(--text-light); font-size: 12px; padding: 4px 0; }
.m-tabbar a i { font-size: 20px; display: block; margin-bottom: 2px; }
.m-tabbar a.active { color: var(--primary); }

/* 轮播 */
.m-banner { border-radius: var(--radius-sm); overflow: hidden; margin-bottom: 10px; }
.m-banner img { width: 100%; height: 160px; object-fit: cover; }

/* 导航宫格 */
.m-nav-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; background: var(--white); padding: 10px 5px; border-radius: var(--radius-sm); margin-bottom: 10px; }
.m-nav-grid a { text-align: center; color: var(--text); font-size: 12px; }
.m-nav-grid a i { font-size: 24px; color: var(--primary); display: block; margin-bottom: 4px; }

/* 商品卡片 */
.m-product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.m-product-card { background: var(--white); border-radius: var(--radius-sm); overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,0.05); }
.m-product-card img { width: 100%; height: 150px; object-fit: cover; }
.m-product-card .info { padding: 8px; }
.m-product-card .name { font-size: 13px; line-height: 1.4; height: 36px; overflow: hidden; }
.m-product-card .price { color: var(--primary); font-size: 16px; font-weight: 600; margin-top: 5px; }
.m-product-card .price small { font-size: 12px; font-weight: normal; }

/* 列表项 */
.m-list-item { background: var(--white); padding: 12px; border-radius: var(--radius-sm); margin-bottom: 8px; display: flex; gap: 10px; }
.m-list-item img { width: 80px; height: 80px; border-radius: var(--radius-sm); object-fit: cover; flex-shrink: 0; }
.m-list-item .info { flex: 1; min-width: 0; }
.m-list-item .name { font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.m-list-item .desc { font-size: 12px; color: var(--text-light); }
.m-list-item .price { color: var(--primary); font-size: 15px; font-weight: 600; }

/* 搜索栏 */
.m-search { background: var(--white); padding: 8px 10px; border-radius: 20px; flex: 1; display: flex; align-items: center; gap: 8px; }
.m-search input { border: none; flex: 1; font-size: 13px; background: transparent; }
.m-search i { color: var(--gray-dark); }

/* 区块标题 */
.m-section-title { font-size: 15px; font-weight: 600; padding: 10px 0; display: flex; justify-content: space-between; align-items: center; }
.m-section-title .more { font-size: 12px; color: var(--text-light); font-weight: normal; }

/* 用户中心 */
.m-user-header { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: var(--white); padding: 20px 15px; display: flex; align-items: center; gap: 15px; }
.m-user-header img { width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.5); }
.m-user-header .info { flex: 1; }
.m-user-header .info .name { font-size: 18px; font-weight: 600; }
.m-user-header .info .mobile { font-size: 13px; opacity: 0.8; }

.m-user-menu { background: var(--white); border-radius: var(--radius-sm); margin: 10px; overflow: hidden; }
.m-user-menu a { display: flex; align-items: center; padding: 12px 15px; border-bottom: 1px solid var(--gray-border); color: var(--text); font-size: 14px; }
.m-user-menu a:last-child { border-bottom: none; }
.m-user-menu a i { width: 24px; color: var(--primary); font-size: 18px; margin-right: 10px; }
.m-user-menu a .arrow { margin-left: auto; color: var(--gray-dark); }

/* 表单 */
.m-form { background: var(--white); border-radius: var(--radius-sm); padding: 15px; margin: 10px; }
.m-form .form-group { margin-bottom: 15px; }
.m-form .form-group label { display: block; margin-bottom: 5px; font-size: 13px; color: var(--text-light); }
.m-form .form-control { border: 1px solid var(--gray-border); border-radius: var(--radius-sm); padding: 10px; font-size: 14px; }
.m-form .btn { width: 100%; padding: 12px; }

/* 购物车 */
.m-cart-item { background: var(--white); padding: 10px; border-radius: var(--radius-sm); margin-bottom: 8px; display: flex; align-items: center; gap: 10px; }
.m-cart-item img { width: 60px; height: 60px; border-radius: var(--radius-sm); object-fit: cover; }
.m-cart-item .qty-control { display: flex; align-items: center; gap: 8px; }
.m-cart-item .qty-control button { width: 28px; height: 28px; border: 1px solid var(--gray-border); background: var(--white); border-radius: var(--radius-sm); cursor: pointer; }

/* 底部操作栏 */
.m-bottom-bar { position: fixed; bottom: 50px; left: 50%; transform: translateX(-50%); width: 100%; max-width: 750px; background: var(--white); border-top: 1px solid var(--gray-border); padding: 8px 15px; display: flex; align-items: center; gap: 10px; z-index: 98; }

/* CKEditor 移动端适配 */
.ck-content { font-size: 14px !important; line-height: 1.6 !important; }
.ck-content img { max-width: 100% !important; }
