/* 天宝龙凤 · 产品图册 —— 品牌色版
 * 底色：PANTONE 282 C  #041E42（大面积背景）
 * 跳色：PANTONE 7407 C #CBA052（强调/饰条/按钮）
 */
:root{
  --bg:#041E42;            /* 282 C 主底 */
  --bg-2:#0A2950;          /* 面板（282 C 提亮一档） */
  --bg-3:#123563;          /* 图片占位 */
  --line:rgba(255,255,255,.14);
  --gold:#CBA052;          /* 7407 C 跳色 */
  --gold-dim:#9C7C42;
  --text:#f2efe9;
  --text-dim:#a8b4c8;      /* 藏青底上的次级文字 */
  --safe-t:env(safe-area-inset-top,0px);
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
/* JS 用 el.hidden=true 隐藏元素（提示条、加载圈、空态）。但作者样式里的
   display:flex 会盖过浏览器默认的 [hidden]{display:none}，导致「点了没反应」，
   这条必须保留，且优先级要够高 */
[hidden]{display:none !important}
html,body{margin:0;height:100%;overflow:hidden}
body{
  background:var(--bg);color:var(--text);
  font:14px/1.5 -apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  user-select:none;-webkit-user-select:none;
}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}

/* ---------- 顶栏 ---------- */
#topbar{
  position:fixed;top:0;left:0;right:0;height:calc(56px + var(--safe-t));
  padding-top:var(--safe-t);
  display:flex;align-items:center;gap:18px;padding-left:16px;padding-right:16px;
  background:var(--bg-2);border-bottom:1px solid var(--line);z-index:20;
}
.brand{display:flex;align-items:center;gap:8px;flex:0 0 auto;cursor:pointer}
.brand img{height:30px;width:auto}
.brand span{font-size:15px;letter-spacing:2px;color:var(--gold)}
#tabs{display:flex;gap:2px;overflow-x:auto;flex:1;scrollbar-width:none}
#tabs::-webkit-scrollbar{display:none}
.tab{
  padding:8px 14px;white-space:nowrap;position:relative;
  color:var(--text-dim);font-size:14px;transition:.15s;
}
.tab::after{ /* 金色下划指示条（7407 C） */
  content:'';position:absolute;left:50%;bottom:2px;transform:translateX(-50%);
  width:0;height:2px;background:var(--gold);transition:width .2s;border-radius:1px;
}
.tab.on{color:var(--gold)}
.tab.on::after{width:70%}
.topbar-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.sync{font-size:12px;color:var(--text-dim)}
#btn-refresh{padding:6px 12px;border:1px solid var(--line);border-radius:6px;color:var(--text-dim);font-size:12px}
#btn-refresh:active{background:var(--bg-3)}
#btn-fullscreen{padding:6px 12px;border:1px solid var(--gold);border-radius:6px;color:var(--gold);font-size:12px}
#btn-fullscreen:active{background:var(--gold);color:#041E42}

/* ---------- 添加到主屏幕引导 ---------- */
.install-tip{
  position:fixed;left:12px;right:12px;bottom:calc(12px + var(--safe-b));z-index:90;
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:10px;
  background:rgba(10,41,80,.96);border:1px solid var(--gold);
  box-shadow:0 6px 24px rgba(0,0,0,.45);
}
.it-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.it-text strong{font-size:13px;color:var(--gold)}
.it-text span{font-size:12px;color:var(--text-dim);line-height:1.45}
.it-close{
  flex:0 0 auto;padding:7px 12px;border:1px solid var(--line);border-radius:6px;
  color:var(--text-dim);font-size:12px;
}
.it-close:active{background:var(--bg-3)}

/* ---------- 主体：单列连续滚动（无侧栏） ---------- */
#main{
  position:fixed;top:calc(56px + var(--safe-t));left:0;right:0;bottom:0;
  overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
.page{min-height:100%}

/* ---------- 默认页 · 五大系列 ---------- */
#hero{padding:26px 20px 6px;text-align:center}
.hero-title{
  margin:0 0 20px;font-size:16px;font-weight:500;letter-spacing:2px;
  color:var(--text);
}
.hero-title::after{
  content:'';display:block;width:44px;height:2px;background:var(--gold);
  margin:10px auto 0;border-radius:1px;
}
#series-row{
  display:flex;justify-content:center;gap:6px;flex-wrap:wrap;
}
.series-card{
  width:19%;min-width:104px;max-width:150px;cursor:pointer;
  padding:6px 4px 10px;border-radius:10px;transition:background .15s;
}
.series-card:active{background:rgba(203,160,82,.12)}
.series-card img{
  width:100%;aspect-ratio:1/1;object-fit:contain;display:block;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.45));
}
.series-card .nm{
  margin-top:8px;font-size:12.5px;color:var(--text);letter-spacing:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.series-card.on .nm{color:var(--gold)}

/* ---------- 默认页 · 门店横幅 ----------
 * 底图整体 60% 不透明度；正中央叠加品牌 logo（100% 显示，不受透明度影响，
 * 宽度按横幅比例自适应）。overlay 的渐变衬底随底图一起变淡后压在 logo 之下 */
#store-banner{position:relative;margin:14px 0 0;line-height:0}
#store-img{width:100%;height:auto;display:block;opacity:.6}
.store-logo{
  position:absolute;inset:0;z-index:1;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;               /* 纯展示层，不挡横幅交互 */
}
.store-logo img{
  /* 尺寸取上一版的 35%（2026-09-23）：34%→12%，380→133，150→53 */
  width:12%;min-width:53px;max-width:133px;height:auto;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.6));
}
.store-overlay{
  position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;gap:10px;
  align-items:center;justify-content:flex-end;line-height:1.4;
  padding-bottom:5.5%;
  background:linear-gradient(to top,rgba(4,30,66,.62),rgba(4,30,66,.08) 42%,transparent);
}
.store-name{
  font-size:26px;letter-spacing:10px;text-indent:10px;color:#fff;
  font-family:"Songti SC","STSong","SimSun",serif;font-weight:600;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.store-line{width:56px;height:1px;background:var(--gold)}
.store-sub{font-size:12px;letter-spacing:6px;text-indent:6px;color:rgba(255,255,255,.85)}

/* ---------- 系列页：品牌底纹背景 ----------
 * 纹理取自品牌细竖纹素材（texture.webp，144px 无缝平铺），上面压一层
 * 282 C 半透明色统一色调并降低纹理对比，保证分类标题与产品卡可读 */
#page-series{
  background-color:var(--bg);
  background-image:
    linear-gradient(rgba(4,30,66,.66),rgba(4,30,66,.66)),
    url('/assets/texture.webp');
  background-repeat:repeat;
  background-size:auto,144px 720px;
  background-position:top center;
  padding-bottom:calc(30px + var(--safe-b));
}
#series-head{
  display:flex;align-items:center;gap:14px;
  padding:16px 16px 0;
}
#series-back{
  display:inline-flex;align-items:center;gap:4px;
  padding:7px 14px 7px 10px;border-radius:18px;
  border:1px solid var(--line);color:var(--text-dim);font-size:13px;
  transition:.15s;
}
#series-back:hover,#series-back:active{color:var(--gold);border-color:var(--gold)}
#series-name{
  font-size:17px;letter-spacing:4px;color:var(--gold);
  font-family:"Songti SC","STSong","SimSun",serif;font-weight:500;
}

/* ---------- 分类区块（连续滚动，仅系列页） ---------- */
#sections{padding:0 16px}
/* 看图器跨系列返回时定位到该产品卡片：短暂金框提示当前位置 */
.card.locate{border-color:var(--gold);box-shadow:0 0 0 2px rgba(203,160,82,.55);transition:box-shadow .4s}

/* 二级分类标题：长金饰条（级别高） */
.hd2{
  display:flex;align-items:center;gap:16px;
  margin:34px 0 16px;
}
.hd2::before,.hd2::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(to right,transparent,var(--gold));
}
.hd2::after{background:linear-gradient(to left,transparent,var(--gold))}
.hd2 span{
  font-size:18px;letter-spacing:6px;text-indent:6px;color:var(--gold);
  font-family:"Songti SC","STSong","SimSun",serif;font-weight:500;white-space:nowrap;
}

/* 三级分类标题：短银灰饰条（级别低一档） */
.hd3{
  display:flex;align-items:center;gap:12px;
  margin:24px 0 12px;
}
.hd3::before,.hd3::after{
  content:'';flex:1;height:1px;background:var(--line);
}
.hd3 span{
  font-size:14px;letter-spacing:3px;text-indent:3px;color:var(--text);white-space:nowrap;
}

#grid,.grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:14px;
}
.card{
  background:var(--bg-2);border:1px solid var(--line);border-radius:10px;
  overflow:hidden;cursor:pointer;transition:transform .12s,border-color .12s;
}
.card:active{transform:scale(.97);border-color:var(--gold)}
.card .ph{position:relative;width:100%;padding-top:100%;background:var(--bg-3);overflow:hidden}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .cap{padding:8px 10px;font-size:13px;display:flex;justify-content:space-between;gap:6px}
.card .cap .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .cap .c{color:var(--text-dim);font-size:11px;flex:0 0 auto}
.empty{text-align:center;color:var(--text-dim);padding:60px 0}

/* 防下载：关掉长按弹出的「保存图片」菜单（iOS / iPadOS / 鸿蒙 WebView 均适用）。
   由 JS 在服务端 settings.antiDownload 为真时给 body 加上 .no-save */
.no-save #app,.no-save #viewer,.no-save img{
  -webkit-touch-callout:none;-webkit-user-select:none;user-select:none;
  -webkit-user-drag:none;      /* 桌面按住图片拖到桌面/文件夹另存 */
}

/* ---------- 看图器 ---------- */
#viewer{
  position:fixed;inset:0;background:#000;z-index:50;overflow:hidden;
  touch-action:none;
}
#v-track{position:absolute;inset:0;will-change:transform}
.slide{
  position:absolute;top:0;left:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.slide img{
  max-width:100%;max-height:100%;object-fit:contain;
  will-change:transform;transform-origin:center center;
  -webkit-user-drag:none;user-select:none;-webkit-user-select:none;
  cursor:grab;
}

.v-bar{
  position:absolute;left:0;right:0;z-index:60;
  padding:14px 16px;transition:opacity .2s;
  background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);
  pointer-events:none;
}
#v-top{top:0;padding-top:calc(14px + var(--safe-t))}
#v-bottom{
  bottom:0;padding-bottom:calc(14px + var(--safe-b));
  background:linear-gradient(to top,rgba(0,0,0,.6),transparent);
  display:flex;justify-content:space-between;align-items:flex-end;
}
.v-bar.hide{opacity:0}
/* 返回按钮常驻可见：客户在场时误触退出的代价太高 */
#v-back{
  pointer-events:auto;display:inline-flex;align-items:center;gap:4px;
  padding:7px 14px 7px 10px;border-radius:20px;
  background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);
  font-size:14px;backdrop-filter:blur(6px);cursor:pointer;transition:background .15s,border-color .15s;
}
#v-back:hover{background:rgba(203,160,82,.32);border-color:rgba(203,160,82,.6)}
#v-back:active{transform:scale(.95)}
#v-title{margin-top:10px;font-size:13px;color:rgba(255,255,255,.75)}
#v-meta{font-size:13px;color:rgba(255,255,255,.8)}
#v-count{font-size:12px;color:rgba(255,255,255,.55)}
.vb-info{pointer-events:none}

/* 桌面鼠标没有滑动手势，工具条是主要操作入口；触屏同样可点 */
.v-tools{pointer-events:auto;display:flex;align-items:center;gap:8px}
.v-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;padding:0;border-radius:17px;
  background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);
  color:#fff;backdrop-filter:blur(6px);cursor:pointer;
  transition:background .15s,border-color .15s;
}
.v-btn.wide{width:auto;padding:0 14px;font-size:12px;letter-spacing:.5px}
.v-btn:hover{background:rgba(203,160,82,.32);border-color:rgba(203,160,82,.6)}
.v-btn:active{transform:scale(.94)}

.v-toast{
  position:absolute;top:calc(70px + var(--safe-t));left:50%;transform:translateX(-50%) translateY(-8px);
  background:rgba(0,0,0,.72);border:1px solid rgba(203,160,82,.4);
  color:var(--gold);padding:8px 18px;border-radius:20px;font-size:13px;
  opacity:0;transition:.25s;pointer-events:none;z-index:70;white-space:nowrap;
}
.v-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.v-loading{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:26px;height:26px;border:2px solid rgba(255,255,255,.25);
  border-top-color:var(--gold);border-radius:50%;z-index:55;
  animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* ---------- 手机 / 窄屏 ---------- */
@media (max-width:768px){
  #grid,.grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
  .brand span{display:none}
  .series-card{min-width:88px}
  .store-name{font-size:20px;letter-spacing:7px}
  .v-btn{width:40px;height:40px;border-radius:20px}   /* 触屏手指更大，按钮跟着放大 */
  .v-btn.wide{height:40px;padding:0 12px}
}
