/* zxmyj — TPL2/TPL3 共享布局（颜色/装饰由 skin 覆写） */
html,body{margin:0;padding:0;background:#f5f5f5;
  font:14px -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#333;}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
[v-cloak]{display:none;}

.root{max-width:540px;margin:0 auto;background:#fff;padding-bottom:90px;min-height:100vh;}

.swiper{position:relative;overflow:hidden;}
.swiper-track{display:flex;transition:transform .35s ease;}
.swiper-track img{width:100%;flex:0 0 100%;}
.swiper-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px;}
.swiper-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);}
.swiper-dots span.on{width:14px;border-radius:3px;}

.price-bar{padding:12px 14px;color:#fff;}
.price-bar .now{font-size:30px;font-weight:700;}
.price-bar .now small{font-size:14px;font-weight:400;}
.price-bar .old{margin-left:8px;font-size:13px;text-decoration:line-through;opacity:.7;}
.price-bar .tag{display:inline-block;background:#fff;font-size:11px;padding:1px 6px;
  border-radius:3px;margin-right:6px;font-weight:600;vertical-align:middle;}
.price-bar .meta{margin-top:4px;font-size:13px;opacity:.95;}

.countdown{background:#000;color:#fff;padding:10px 14px;font-size:14px;text-align:center;}
.countdown b{display:inline-block;color:#fff;padding:2px 5px;border-radius:3px;
  margin:0 2px;min-width:24px;font-weight:600;}

.title{padding:14px;font-size:17px;font-weight:600;line-height:1.45;}

.yh-tip{padding:8px 14px;background:#fff7e6;color:#d46b08;font-size:13px;
  border-left:3px solid #faad14;display:flex;align-items:center;gap:8px;}
.yh-tip img{max-height:24px;}

.marquee-wrap{height:32px;background:#f5f5f5;padding:0 14px;display:flex;align-items:center;
  gap:10px;color:#666;font-size:12px;border-bottom:1px solid #eee;}
.marquee{overflow:hidden;height:24px;flex:1;}
.marquee-list{transition:transform .5s linear;list-style:none;margin:0;padding:0;}
.marquee-list>li{height:24px;line-height:24px;list-style:none;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;}

.section{margin-top:8px;background:#fff;}
.section-h{padding:14px 14px 6px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:6px;}
.section-h::before{content:'';display:inline-block;width:3px;height:14px;border-radius:2px;}

.gallery img{width:100%;display:block;}
.desc{padding:0 14px 14px;font-size:14px;color:#444;line-height:1.6;}
.video-block{background:#000;}
.video-block video{width:100%;display:block;max-height:55vh;}

.form-card{padding:6px 14px 14px;}
.form-row{display:flex;align-items:center;border-bottom:1px solid #f0f0f0;padding:12px 0;}
.form-row .label{width:80px;font-size:14px;color:#666;flex:none;}
.form-row input,.form-row textarea,.form-row select{
  flex:1;border:0;font-size:15px;background:transparent;outline:none;color:#333;font-family:inherit;}
.form-row textarea{resize:none;height:48px;}
.area-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;flex:1;}
.area-row select{padding:6px 4px;border:1px solid #e1e1e1;border-radius:4px;background:#fafafa;font-size:14px;}
.qty-row{display:flex;align-items:center;gap:10px;}
.qty-row button{width:32px;height:32px;border:1px solid #e1e1e1;background:#fff;border-radius:4px;
  font-size:18px;color:#666;cursor:pointer;}
.qty-row input{width:60px;text-align:center;border:1px solid #e1e1e1;background:#fff;
  border-radius:4px;height:32px;flex:none;}

.like-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 14px 14px;}
.like-item{background:#fff;border:1px solid #f0f0f0;border-radius:6px;overflow:hidden;}
.like-item img{width:100%;height:140px;object-fit:cover;}
.like-item .t{padding:6px 8px;font-size:13px;line-height:1.3;height:50px;overflow:hidden;}
.like-item .p{padding:0 8px 8px;font-weight:600;}

.submit{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:540px;
  height:56px;color:#fff;border:0;font-size:18px;font-weight:600;z-index:100;
  padding-bottom:env(safe-area-inset-bottom);display:flex;align-items:center;justify-content:center;gap:6px;
  cursor:pointer;}
.submit:active{filter:brightness(.9);}
.submit:disabled{filter:brightness(.7);}

.copyright{padding:14px;text-align:center;color:#999;font-size:12px;}
.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.82);
  color:#fff;padding:10px 18px;border-radius:6px;font-size:14px;z-index:1000;}
.skel{padding:30vh 14px;text-align:center;color:#aaa;}

/* 富文本详情 — wangEditor 输出的 HTML */
.rich-detail{padding:0 14px 14px;font-size:14px;color:#333;line-height:1.7;}
.rich-detail img{max-width:100%;height:auto;display:block;margin:6px auto;border-radius:4px;}
.rich-detail h1,.rich-detail h2,.rich-detail h3{margin:12px 0 8px;font-weight:600;}
.rich-detail h1{font-size:20px;} .rich-detail h2{font-size:18px;} .rich-detail h3{font-size:16px;}
.rich-detail p{margin:8px 0;}
.rich-detail ul,.rich-detail ol{padding-left:24px;margin:8px 0;}
.rich-detail li{margin:4px 0;}
.rich-detail blockquote{padding:8px 12px;border-left:3px solid #ddd;background:#f7f7f7;color:#666;margin:8px 0;}
.rich-detail table{border-collapse:collapse;width:100%;margin:8px 0;}
.rich-detail th,.rich-detail td{border:1px solid #e1e1e1;padding:6px 10px;}
.rich-detail th{background:#f5f5f5;}
.rich-detail code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Menlo,monospace;font-size:13px;}
.rich-detail pre{background:#f5f5f5;padding:10px;border-radius:4px;overflow-x:auto;}
.rich-detail a{color:#2563eb;text-decoration:underline;}

/* SKU 规格选择 */
.sku-row{padding:14px 14px 4px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #f0f0f0;}
.sku-label{font-size:14px;color:#666;}
.sku-options{display:flex;flex-wrap:wrap;gap:8px;}
.sku-options button{
  position:relative;flex:0 0 auto;min-width:96px;padding:8px 14px;background:#fafafa;
  border:1px solid #e1e1e1;border-radius:6px;font-size:14px;color:#333;cursor:pointer;
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
}
.sku-options button.on{border-color:#dc143c;background:#fff;color:#dc143c;border-width:2px;padding:7px 13px;}
.sku-options button.sold{opacity:.45;cursor:not-allowed;}
.sku-options .sku-name{font-weight:600;}
.sku-options .sku-price{font-size:13px;}
.sku-options .sku-tag{position:absolute;top:-6px;right:-6px;font-size:10px;background:#999;color:#fff;
  border-radius:3px;padding:1px 4px;}
.sku-options .sku-tag.low{background:#f59e0b;}
