
    :root{
      --bg:#f6f7fb;
      --card:#ffffff;
      --text:#111827;
      --muted:#6b7280;
      --line:#e5e7eb;
      --brand:#111111;
      --brand2:#0f172a;
      --btn:#111;
      --btn2:#111;
      --ok:#16a34a;
      --warn:#f59e0b;
      --shadow: 0 10px 30px rgba(0,0,0,.06);
      --radius: 14px;
      --radius2: 18px;
      --max: 1120px;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--text)}
    a{color:inherit;text-decoration:none}
    .container{max-width:var(--max);margin:0 auto;padding:0 16px}

    /* top bar */
    .topbar{
      background:#fff;
      border-bottom:1px solid var(--line);
    }
    .topbar-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:10px 0;
    }
    .brand{
      display:flex;align-items:center;gap:10px;font-weight:800;
      letter-spacing:.2px;
    }
/* ===== Brand logo ===== */
.brand{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  letter-spacing: .2px;
}

.logo-img{
  height: 32px;        /* 控制 logo 大小 */
  width: auto;
  display: block;
}

.brand-text{
  font-size: 18px;
}

    .search{
      flex:1;
      display:flex;
      gap:8px;
      max-width:520px;
    }
    .search input{
      flex:1;
      padding:10px 12px;
      border:1px solid var(--line);
      border-radius:999px;
      outline:none;
      background:#fafafa;
    }
    .search button{
      padding:10px 14px;border:0;border-radius:999px;background:#111;color:#fff;cursor:pointer;
    }
    .right-actions{display:flex;align-items:center;gap:10px}
    .pill{
      border:1px solid var(--line);
      background:#fff;
      padding:8px 12px;
      border-radius:999px;
      font-size:13px;
      color:var(--muted);
      cursor:pointer;
    }
    .cart{
      display:flex;align-items:center;gap:8px;
      padding:8px 12px;border-radius:999px;background:#111;color:#fff;font-size:13px;cursor:pointer;
    }
    .cart b{font-weight:700}

    /* nav */
    .nav{
      background:#fff;
      border-bottom:1px solid var(--line);
    }
    .nav-inner{
      display:flex;align-items:center;gap:18px;
      padding:10px 0;
      color:#111;
      font-size:14px;
    }
    .nav-inner a{color:#111;opacity:.85}
    .nav-inner a:hover{opacity:1;text-decoration:underline}

    /* breadcrumb */
    .crumb{
      padding:14px 0;
      color:var(--muted);
      font-size:13px;
    }
    .crumb span{color:#9ca3af}
    .crumb a{color:var(--muted)}
    .crumb a:hover{text-decoration:underline}

    /* product layout */
    .grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap:18px;
      padding-bottom:28px;
    }
    /* @media (max-width: 920px){
      .grid{grid-template-columns:1fr; }
      .search{display:none}
    } */

    .card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius2);
      box-shadow:var(--shadow);
    }

    /* gallery */
    .gallery{
      padding:14px;
    }
    .gallery-main{
      border-radius:16px;
      overflow:hidden;
      border:1px solid var(--line);
      background:#f3f4f6;
      height:520px;
      display:flex;align-items:center;justify-content:center;
      position:relative;
    }
    .gallery-main img{
      width:100%;height:100%;object-fit:cover;display:block;
    }
    .badge-sale{
      position:absolute;left:14px;top:14px;
      background:#111;color:#fff;border-radius:999px;
      padding:7px 10px;font-size:12px;
    }
    .thumbs{
      display:flex;gap:10px;flex-wrap:wrap;
      padding-top:12px;
    }
    .thumb{
      width:74px;height:74px;border-radius:14px;
      border:1px solid var(--line);
      overflow:hidden;
      background:#f3f4f6;
      cursor:pointer;
      opacity:.85;
    }
    .thumb img{width:100%;height:100%;object-fit:cover;display:block}
    .thumb.active{outline:2px solid #111; opacity:1}

    /* info */
    .info{
      padding:18px;
    }
    .title{
      font-size:22px;
      line-height:1.25;
      margin:0 0 8px 0;
      font-weight:800;
    }
    .meta{
      display:flex;align-items:center;gap:10px;flex-wrap:wrap;
      color:var(--muted);font-size:13px;
      margin-bottom:12px;
    }
    .stars{color:#111;font-weight:700}
    .dot{width:4px;height:4px;border-radius:999px;background:#d1d5db;display:inline-block}

    .price-row{
      display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;
      margin:10px 0 12px 0;
    }
    .price{
      font-size:28px;font-weight:900;letter-spacing:.2px;
    }
    .compare{
      color:#9ca3af;text-decoration:line-through;font-size:14px;
      margin-bottom:4px;
    }
    .save{
      margin-bottom:4px;
      font-size:12px;
      color:#111;
      border:1px dashed #111;
      padding:4px 8px;border-radius:999px;
    }

    .bullets{
      margin:12px 0 16px 0;
      display:grid;
      gap:10px;
    }
    .bullet{
      display:flex;gap:10px;align-items:flex-start;
      color:#111;
      font-size:14px;
      line-height:1.35;
    }
    .check{
      width:18px;height:18px;border-radius:999px;background:#111;color:#fff;
      display:flex;align-items:center;justify-content:center;font-size:12px;flex:0 0 auto;margin-top:2px;
    }

    .offer{
      margin:12px 0;
      padding:12px 12px;
      border-radius:16px;
      border:1px solid #fee2e2;
      background:#fff5f5;
      display:flex;align-items:center;justify-content:space-between;gap:10px;
    }
    .offer b{font-size:13px}
    .offer span{font-size:12px;color:#b91c1c}

    .section-label{
      font-size:12px;color:var(--muted);
      margin:14px 0 6px 0;
      font-weight:700;
      letter-spacing:.2px;
      text-transform:uppercase;
    }

    .options{
      display:flex;gap:10px;flex-wrap:wrap;
    }
    .opt{
      border:1px solid var(--line);
      border-radius:999px;
      padding:10px 12px;
      cursor:pointer;
      background:#fff;
      font-size:13px;
      color:#111;
    }
    .opt.active{
      border-color:#111;
      background:#111;
      color:#fff;
    }

    .qty-row{
      display:flex;align-items:center;gap:10px;
      margin-top:12px;
    }
    .qty{
      display:flex;align-items:center;gap:8px;
      border:1px solid var(--line);
      border-radius:999px;
      padding:6px 10px;
      background:#fff;
    }
    .qty button{
      width:34px;height:34px;border-radius:999px;border:0;background:#f3f4f6;cursor:pointer;
      font-size:18px;line-height:0;
    }
    .qty input{
      width:44px;text-align:center;border:0;outline:none;font-weight:700;background:transparent;
    }

    .hint{
      color:#ef4444;font-size:12px;margin-top:10px;display:none;
    }

    .cta{
      display:flex;gap:10px;flex-wrap:wrap;
      margin-top:14px;
    }
    .btn{
      flex:1;
      min-width:160px;
      border:0;
      border-radius:14px;
      padding:12px 14px;
      cursor:pointer;
      font-weight:800;
      letter-spacing:.2px;
    }
    .btn.primary{background:#111;color:#fff}
    .btn.secondary{background:#fff;color:#111;border:1px solid #111}
    .btn:active{transform:translateY(1px)}

    .payrow{
      margin-top:12px;
      padding-top:12px;
      border-top:1px solid var(--line);
      color:var(--muted);
      font-size:13px;
      display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    }
    .chips{display:flex;gap:8px;flex-wrap:wrap}
    .chip{
      border:1px solid var(--line);
      border-radius:999px;
      padding:6px 10px;
      background:#fff;
      font-size:12px;
      color:#374151;
    }

    /* tabs */
    .tabs{
      margin-top:18px;
    }

    .tab-body{
      padding:16px;
      color:#111;
      line-height:1.6;
      font-size:14px;
    }
    .kvs{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      margin-top:12px;
    }
    @media (max-width:720px){
      .kvs{grid-template-columns:1fr}
    }
    .kv{
      border:1px solid var(--line);
      border-radius:14px;
      padding:12px;
      background:#fff;
    }
    .kv b{display:block;font-size:13px;margin-bottom:4px}
    .kv span{color:var(--muted);font-size:13px}

    /* related
    .related{
      margin-top:18px;
      padding:16px;
    }
    .rel-head{
      display:flex;align-items:center;justify-content:space-between;gap:10px;
      margin-bottom:12px;
    }
    .rel-head h3{margin:0;font-size:16px}
    .rel-grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:12px;
    }
    @media (max-width: 980px){ .rel-grid{grid-template-columns: repeat(2, 1fr);} }
    .rel-item{
      border:1px solid var(--line);
      border-radius:16px;
      overflow:hidden;
      background:#fff;
      cursor:pointer;
    }
    .rel-img{
      height:140px;background:#f3f4f6;
    }
    .rel-img img{width:100%;height:100%;object-fit:cover;display:block}
    .rel-info{padding:10px}
    .rel-title{font-size:13px;font-weight:800;line-height:1.25;margin:0 0 6px 0}
    .rel-price{font-size:13px;color:#111;font-weight:800} */

    /* footer */
    .footer{
      margin-top:30px;
      background:#fff;
      border-top:1px solid var(--line);
      padding:22px 0;
      color:var(--muted);
      font-size:13px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:16px;
    }
    @media (max-width: 860px){ .footer-grid{grid-template-columns:1fr;} }
    .footer h4{margin:0 0 10px 0;color:#111}
    .footer a{color:var(--muted)}
    .footer a:hover{text-decoration:underline}
    .sub{
      display:flex;gap:8px;margin-top:10px;
    }
    .sub input{
      flex:1;border:1px solid var(--line);border-radius:999px;padding:10px 12px;outline:none;background:#fafafa;
    }
    .sub button{border:0;border-radius:999px;padding:10px 12px;background:#111;color:#fff;cursor:pointer}
    .mini{color:#9ca3af;font-size:12px;margin-top:8px}

    /* --- 移动端适配修改 (添加在 style 标签末尾) --- */
    @media (max-width: 920px) {
      /* 1. 调整布局堆叠 */
      .grid { grid-template-columns: 1fr; gap: 0; }
      .search { display: none; } /* 隐藏搜索栏节省空间 */
      .nav, .crumb { display: none; } /* 隐藏手机上不重要的导航 */
      .container { padding: 0 12px; }
      
      /* 2. 顶部图片画廊优化 */
      .gallery { padding: 0; margin-bottom: 12px; }
      .gallery-main {
        border-radius: 0; /* 手机上通常不需要大圆角 */
        height: auto; 
        aspect-ratio: 1/1; /* 强制正方形，不再是固定的520px */
        border-left: 0; border-right: 0; /* 去掉左右边框显得更宽 */
      }
      
      /* 3. 缩略图改为横向滑动 (像淘宝/亚马逊那样) */
      .thumbs {
        flex-wrap: nowrap; /* 不换行 */
        overflow-x: auto; /* 允许横向滚动 */
        padding-bottom: 10px; /* 留出滚动条空间 */
        justify-content: flex-start;
        /* 隐藏滚动条但保留功能 */
        scrollbar-width: none; 
      }
      .thumbs::-webkit-scrollbar { display: none; } 
      .thumb { flex: 0 0 64px; height: 64px; } /* 固定宽度防止被压缩 */

      /* 4. 信息区域调整 */
      .info { padding: 12px 0; border: 0; box-shadow: none; background: transparent; }
      .title { font-size: 20px; }
      .price { font-size: 24px; }
      
      /* 5. 核心修改：购买按钮吸底 (Sticky Footer) */
      .cta {
        position: fixed;
        bottom: 0; left: 0; right: 0;
        background: #fff;
        padding: 12px 16px;
        z-index: 100;
        border-top: 1px solid var(--line);
        box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
        margin-top: 0;
        /* 适配 iPhone 底部黑条 */
        padding-bottom: calc(12px + env(safe-area-inset-bottom));
      }
      
      /* 给底部留出空间，防止内容被吸底按钮挡住 */
      body { padding-bottom: 100px; }
    }
    /* ===== Specs list (key left, value right) ===== */
.specs-list{
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 10px;
  margin: 8px 0 20px;
}

.spec-item{
  display: grid;
  grid-template-columns: 240px 1fr; /* 左边key宽一点，避免换行 */
  column-gap: 18px;
  align-items: start;
}

.spec-key{
  font-weight: 700;
  color: #111;
  font-size: 14px;
  line-height: 1.35;
}

.spec-val{
  color: #111;
  font-size: 14px;
  line-height: 1.45;
}

/* 小屏：自动变成上下 */
@media (max-width: 640px){
  .spec-item{
    grid-template-columns: 1fr;
    row-gap: 4px;
  }
}
/* ===== Description detail images ===== */
.desc-images{
  margin-top: 20px;
  display: grid;
  gap: 16px;
}

.desc-images img{
  width: 100%;
  display: block;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #f9fafb;
}
/* ===== Description detail images ===== */
.desc-gallery{
  margin-top: 18px;
  display: grid;
  gap: 16px;
}

.desc-item{
  margin: 0;
}

.desc-item img{
  width: 100%;
  display: block;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #f9fafb;
}

.desc-item figcaption{
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.desc-item figcaption b{
  color: var(--text);
}
.card-logos{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
}

.card-logo{
  height:18px;        /* 控制小logo高度 */
  width:auto;
  display:block;
  object-fit:contain;
  opacity:.9;
}
