/* page.css —— 二级页面公共样式 */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#F5F1E8;color:#2E2A24;
  -webkit-font-smoothing:antialiased;}
.wrap{max-width:900px;margin:0 auto;padding:20px 16px 40px;}
.page-title{font-size:22px;font-family:"Songti SC","STSong",serif;color:#2A4A36;letter-spacing:1px;}
.page-sub{font-size:13px;color:#8A8175;margin-top:6px;line-height:1.7;}
.sec{margin-top:22px;}
.sec h2{font-size:16.5px;margin-bottom:10px;font-family:"Songti SC",serif;color:#2E2A24;}
.card{background:#FFFDF8;border:1px solid #E8DFCE;border-radius:16px;padding:18px;}
.card + .card{margin-top:12px;}

/* 身份卡 */
.idcard{background:linear-gradient(135deg,#2A4A36,#3E6B4F);color:#F5F1E8;border-radius:16px;padding:20px;}
.idcard .row{display:flex;align-items:center;gap:12px;}
.idcard .av{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.idcard .nm{font-size:17px;}
.idcard .rl{display:inline-block;margin-top:5px;background:#B98A2F;color:#fff;border-radius:99px;
  padding:2px 11px;font-size:12px;}
.idcard .pts{margin-left:auto;text-align:right;}
.idcard .pts b{font-size:24px;font-family:"Songti SC",serif;}
.idcard .pts span{display:block;font-size:11.5px;opacity:.8;}

/* 进度条 */
.bar{height:8px;background:#EDE4D3;border-radius:99px;overflow:hidden;margin-top:10px;}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#B98A2F,#D8B45F);border-radius:99px;}
.bar-txt{display:flex;justify-content:space-between;font-size:12.5px;color:#6B6255;margin-top:7px;}

/* 权益列表 */
.rights{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:4px;}
@media(max-width:600px){.rights{grid-template-columns:1fr;}}
.right{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:9px 12px;
  background:#FFFDF8;border:1px solid #E8DFCE;border-radius:11px;}
.right .k{color:#3E6B4F;font-weight:700;}
.right.locked{opacity:.5;}
.right.locked .k{color:#9A9086;}

/* 列表 */
.list{font-size:13.5px;}
.li{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #EFE8D9;}
.li:last-child{border-bottom:none;}
.li .t{color:#2E2A24;}
.li .s{font-size:12px;color:#8A8175;margin-top:2px;}
.li .v{font-weight:600;white-space:nowrap;}
.v.plus{color:#3E6B4F;}
.v.minus{color:#B5432E;}
.v.pend{color:#B98A2F;}

/* 按钮 */
.btn{display:inline-block;background:#3E6B4F;color:#fff;border:none;border-radius:10px;
  padding:11px 22px;font-size:15px;cursor:pointer;text-decoration:none;text-align:center;}
.btn.gold{background:#B98A2F;}
.btn.ghost{background:#fff;color:#2A4A36;border:1px solid #E8DFCE;}
.btn:disabled{background:#C9C2B4;cursor:not-allowed;}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}

/* 提示 */
.tip{background:#FBF3E2;border:1px solid #E5D8BC;border-radius:12px;padding:13px 15px;
  font-size:12.8px;color:#7A6A45;line-height:1.8;margin-top:12px;}
.tip.warn{background:#FDF1EC;border-color:#F0D5C9;color:#8A4A33;}
.empty{text-align:center;color:#A99C85;font-size:13px;padding:26px 0;}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11.5px;background:#F3E8D3;color:#8A6A1F;}
.tag.green{background:#E6EFE4;color:#3E6B4F;}

/* 二维码 · 关注与联系 */
.qr-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.qr-item{display:block;text-align:center;text-decoration:none;color:inherit;}
.qr-item img{width:100%;height:auto;border-radius:12px;border:1px solid #E8DFCE;background:#fff;
  box-shadow:0 2px 10px rgba(60,50,30,.05);transition:transform .18s;}
.qr-item:active img{transform:scale(.97);}
.qr-item .cap{font-size:12px;color:#6B6255;margin-top:8px;}
@media(max-width:520px){
  .qr-row{grid-template-columns:1fr;gap:16px;}
  .qr-item img{max-width:280px;margin:0 auto;}
}

/* === 购物车 / 订单（选购者中心） === */
.cart-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #EFE8D9;align-items:center;}
.cart-item:last-child{border-bottom:none;}
.cart-item .pic{width:64px;height:64px;border-radius:11px;object-fit:cover;flex-shrink:0;overflow:hidden;
  background:linear-gradient(150deg,#E8EFE6,#F3E8D3);display:flex;align-items:center;justify-content:center;font-size:24px;}
.cart-item .pic img{width:100%;height:100%;object-fit:cover;}
.cart-item .info{flex:1;min-width:0;}
.cart-item .info b{font-size:14px;display:block;}
.cart-item .info .p{font-size:13.5px;color:#B5432E;font-weight:600;margin-top:5px;}
.cart-item .info .p small{font-size:11px;color:#8A8175;font-weight:400;margin-left:6px;}
.stepper{display:flex;align-items:center;border:1px solid #E8DFCE;border-radius:9px;overflow:hidden;background:#fff;}
.stepper button{width:29px;height:29px;border:none;background:#fff;font-size:16px;cursor:pointer;color:#3E6B4F;line-height:1;}
.stepper button:disabled{color:#CFC7B8;cursor:not-allowed;}
.stepper span{width:32px;text-align:center;font-size:13.5px;}
.cart-del{border:none;background:none;color:#A99C85;font-size:12px;cursor:pointer;padding:4px 0;}
.checkbar{position:sticky;bottom:0;margin-top:16px;background:#FFFDF8;border:1px solid #E8DFCE;border-radius:14px;
  padding:13px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 -4px 18px rgba(60,50,30,.06);}
.checkbar .sum{margin-left:auto;font-size:12.8px;color:#6B6255;text-align:right;}
.checkbar .sum b{display:block;font-size:20px;color:#B5432E;font-family:"Songti SC",serif;}
.otabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;}
.otabs a{flex-shrink:0;padding:6px 13px;border-radius:99px;background:#fff;border:1px solid #E8DFCE;
  color:#6B6255;text-decoration:none;font-size:12.8px;white-space:nowrap;}
.otabs a.on{background:#2A4A36;color:#fff;border-color:#2A4A36;}
.otabs a i{font-style:normal;opacity:.75;font-size:11.5px;margin-left:3px;}
.ocard{background:#FFFDF8;border:1px solid #E8DFCE;border-radius:15px;padding:13px 15px;margin-bottom:11px;}
.ocard .hd{display:flex;align-items:center;gap:8px;font-size:12.2px;color:#8A8175;padding-bottom:9px;border-bottom:1px dashed #EDE4D3;}
.ocard .hd .st{margin-left:auto;font-weight:600;font-size:12.6px;}
.st.pending{color:#B98A2F;} .st.paid{color:#2F5C9E;} .st.shipped{color:#3E6B4F;}
.st.completed{color:#8A8175;} .st.cancelled,.st.refunded{color:#A99C85;}
.ocard .it{display:flex;gap:10px;padding:9px 0;align-items:center;border-bottom:1px solid #F5F1E8;}
.ocard .it:last-of-type{border-bottom:none;}
.ocard .it .pic{width:46px;height:46px;border-radius:9px;flex-shrink:0;overflow:hidden;
  background:linear-gradient(150deg,#E8EFE6,#F3E8D3);display:flex;align-items:center;justify-content:center;font-size:18px;}
.ocard .it .pic img{width:100%;height:100%;object-fit:cover;}
.ocard .it .nm{flex:1;font-size:13.4px;min-width:0;}
.ocard .it .nm span{display:block;font-size:11.8px;color:#8A8175;margin-top:2px;}
.ocard .ft{display:flex;align-items:center;gap:9px;padding-top:11px;flex-wrap:wrap;}
.ocard .ft .amt{margin-left:auto;font-size:12.8px;color:#6B6255;}
.ocard .ft .amt b{color:#B5432E;font-size:16.5px;font-family:"Songti SC",serif;}
.btn.sm{padding:7px 15px;font-size:13.4px;border-radius:9px;}

/* 悬浮购物车（商城/商品页，与底部 Tab 错开） */
.fab{position:fixed;right:16px;bottom:80px;z-index:70;width:52px;height:52px;border-radius:50%;
  background:#3E6B4F;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:22px;text-decoration:none;box-shadow:0 8px 20px rgba(42,74,54,.28);}
.fab .badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:99px;background:#B5432E;
  color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #F5F1E8;}
@media(min-width:769px){ .fab{bottom:28px;} }

/* 商品内页图（详情长图）—— 多张之间无缝拼接成一条，圆角与描边只做在整体外框上 */
.detail-imgs{margin-top:16px;display:flex;flex-direction:column;gap:0;line-height:0;
  border-radius:12px;overflow:hidden;border:1px solid #E8DFCE;background:#fff;}
.detail-imgs img{width:100%;height:auto;display:block;}

/* === 伙伴中心（天使伙伴 / 家人伙伴分级） === */
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:640px){.tiers{grid-template-columns:1fr;}}
.tier{position:relative;background:#FFFDF8;border:1.5px solid #E8DFCE;border-radius:16px;padding:16px 16px 18px;}
.tier.angel{border-color:#E8DFCE;}
.tier.family{border-color:#D8BE7E;background:linear-gradient(180deg,#FFFCF2,#FFFDF8);}
.tier.mine{box-shadow:0 6px 20px rgba(60,50,30,.10);border-color:#3E6B4F;}
.tier.family.mine{border-color:#B98A2F;}
.tier .hrow{display:flex;align-items:center;gap:8px;}
.tier .em{font-size:22px;}
.tier .tn{font-size:16px;font-weight:700;font-family:"Songti SC",serif;color:#2A4A36;}
.tier .badge{margin-left:auto;font-size:11px;padding:2px 9px;border-radius:99px;background:#E6EFE4;color:#3E6B4F;}
.tier.family .badge{background:#F3E8D3;color:#8A6A1F;}
.tier .how{font-size:12.2px;color:#8A8175;line-height:1.7;margin-top:8px;
  padding-bottom:10px;border-bottom:1px dashed #EDE4D3;}
.tier ul{list-style:none;margin-top:10px;}
.tier li{font-size:13px;color:#4A433A;padding:5px 0 5px 20px;position:relative;line-height:1.6;}
.tier li::before{content:'✓';position:absolute;left:0;color:#3E6B4F;font-weight:700;}
.tier.angel li::before{color:#9AAE9F;}
.tier .lock{font-size:12.4px;color:#A99C85;margin-top:10px;line-height:1.7;background:#FAF7F0;
  border-radius:10px;padding:9px 11px;}

/* 证照提交表单 */
.cert-form .fld{margin-top:12px;}
.cert-form label{display:block;font-size:12.8px;color:#6B6255;margin-bottom:5px;}
.cert-form input[type=text],.cert-form select,.cert-form textarea{width:100%;font-family:inherit;font-size:14px;
  padding:10px 12px;border:1px solid #E8DFCE;border-radius:10px;background:#fff;color:#2E2A24;}
.cert-form input:focus,.cert-form select:focus,.cert-form textarea:focus{outline:2px solid #E8EFE6;border-color:#3E6B4F;}
.cert-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:600px){.cert-form .grid2{grid-template-columns:1fr;}}
.cert-pics{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px;}
.cert-pic{position:relative;width:76px;height:76px;border-radius:11px;overflow:hidden;border:1px solid #E8DFCE;background:#fff;}
.cert-pic img{width:100%;height:100%;object-fit:cover;}
.cert-pic i{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.55);color:#fff;width:19px;height:19px;
  border-radius:50%;font-size:12px;font-style:normal;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.cert-up{width:76px;height:76px;border:1.5px dashed #D9CFB8;border-radius:11px;background:#FBF8F0;
  color:#A99C85;font-size:24px;cursor:pointer;}

/* 证照状态 */
.cert-item{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #EFE8D9;}
.cert-item:last-child{border-bottom:none;}
.cert-item .th{width:52px;height:52px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#F3EEE2;
  display:flex;align-items:center;justify-content:center;font-size:20px;}
.cert-item .th img{width:100%;height:100%;object-fit:cover;}
.cert-item .bd{flex:1;min-width:0;font-size:13.2px;}
.cert-item .bd b{display:block;font-size:13.8px;}
.cert-item .bd .s{font-size:11.8px;color:#8A8175;margin-top:3px;line-height:1.6;}
.cert-item .bd .rj{font-size:11.8px;color:#B5432E;margin-top:4px;}
.st-pending{background:#F3E8D3;color:#8A6A1F;}
.st-approved{background:#E6EFE4;color:#3E6B4F;}
.st-rejected{background:#FBE4DE;color:#B5432E;}
