/* 由 首页模板设计稿 style.css 生成，全部规则限定在 .tpl-video 内，不影响站点共用页头/页脚/弹窗 */
:root{--wrap:1400px;
  --bg:#fff;
  --soft:#f5f5f7;
  --ink:#1d1d1f;
  --muted:#6e6e73;
  --line:#e6e6ea;
  --blue:#0071e3;
  --price:#ff3b30;
  --r:22px;
  --shadow:0 2px 10px rgba(0,0,0,.04),0 20px 48px rgba(0,0,0,.09);}
.tpl-video,
.tpl-video *{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
.tpl-video{background:var(--bg);color:var(--ink);line-height:1.5;
  /* 同 magazine.css：hidden 会把本层变成滚动容器、让左分类树的 sticky 失效，clip 才不会 */
  overflow-x:hidden;overflow-x:clip;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.tpl-video img{display:block;max-width:100%}
.tpl-video a{color:inherit;text-decoration:none}
.tpl-video button{font:inherit;cursor:pointer;border:0;background:none}
.tpl-video .wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
/* 左分类树：这套是深色首屏 + 浅色板块，侧栏落在 .blk.soft 的浅灰底上，用白卡最协调。
   原来这里紧跟着一整套 .tpl-video .site-header/.nav/.search-* 规则是死代码——页头由
   site_header.php 出，位置在 .tpl-video 之外，永远匹配不到；删掉，页头统一走站内新皮。 */
.tpl-video{--ct-w:250px;--ct-gap:32px;--ct-r:18px;--ct-line:#e6e6ea;--ct-card:#fff;
  --ct-ink:#1d1d1f;--ct-ink2:#424245;--ct-mut:#86868b;--ct-hov:#f0f0f2;
  --ct-blue:#0071e3;--ct-on:rgba(0,113,227,.1)}
.tpl-video .vhero{position:relative;height:100vh;min-height:620px;max-height:1000px;overflow:hidden;background:#0b0b0d;display:grid;place-items:center}
.tpl-video .vhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tpl-video .vhero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.28) 38%,rgba(0,0,0,.72) 100%)}
.tpl-video .vhero-in{position:relative;z-index:2;text-align:center;color:#fff;padding:0 24px;max-width:960px}
.tpl-video .vhero .kick{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#9ecbff;
  border:1px solid rgba(158,203,255,.4);padding:7px 16px;border-radius:999px;background:rgba(0,0,0,.24);backdrop-filter:blur(6px)}
.tpl-video .vhero h1{font-size:clamp(38px,6.2vw,86px);font-weight:800;letter-spacing:-.035em;line-height:1.04;margin:26px 0 20px;text-shadow:0 4px 30px rgba(0,0,0,.4)}
.tpl-video .vhero .sub{font-size:clamp(15px,1.5vw,20px);color:rgba(255,255,255,.86);line-height:1.75;max-width:38em;margin:0 auto}
.tpl-video .vhero-cta{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.tpl-video .vbtn{display:inline-flex;align-items:center;gap:10px;padding:16px 34px;border-radius:999px;font-size:16px;font-weight:600;transition:.25s}
.tpl-video .vbtn.w{background:#fff;color:var(--ink)}
.tpl-video .vbtn.w:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.34)}
.tpl-video .vbtn.o{border:1px solid rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(6px)}
.tpl-video .vbtn.o:hover{background:rgba(255,255,255,.16)}
.tpl-video .vbtn svg{width:17px;height:17px}
.tpl-video .vhero-foot{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 40px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:rgba(255,255,255,.72);font-size:12.5px}
.tpl-video .vhero-facts{display:flex;gap:22px;flex-wrap:wrap}
.tpl-video .vhero-facts b{color:#fff;font-weight:700}
.tpl-video .snd{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 16px;color:#fff;font-size:12.5px;font-weight:600;backdrop-filter:blur(6px);transition:.2s}
.tpl-video .snd:hover{background:rgba(255,255,255,.16)}
.tpl-video .snd svg{width:15px;height:15px;stroke:#fff}
.tpl-video .scroll-cue{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.7);display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.tpl-video .scroll-cue svg{width:18px;height:18px;stroke:rgba(255,255,255,.8);animation:bob 1.9s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}
.tpl-video section.blk{padding:92px 0}
.tpl-video section.blk.soft{background:var(--soft)}
.tpl-video .sec-head{text-align:center;max-width:760px;margin:0 auto 46px}
.tpl-video .sec-head .kicker{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.tpl-video .sec-head h2{font-size:clamp(28px,3.2vw,42px);font-weight:800;letter-spacing:-.025em;margin-top:12px;line-height:1.2}
.tpl-video .sec-head p{font-size:16px;color:var(--muted);margin-top:14px;line-height:1.75}
.tpl-video .feat{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tpl-video .f-card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:.3s;display:block}
.tpl-video .f-card:hover{transform:translateY(-6px)}
.tpl-video .f-card .ph{aspect-ratio:4/3.4;overflow:hidden;background:#eee}
.tpl-video .f-card .ph img{width:100%;height:100%;object-fit:cover;transition:.6s}
.tpl-video .f-card:hover .ph img{transform:scale(1.06)}
.tpl-video .f-card .bd{padding:26px 28px 30px}
.tpl-video .f-card .no{font-size:12px;font-weight:700;color:#c7c7cc;letter-spacing:.12em}
.tpl-video .f-card h3{font-size:20px;font-weight:700;line-height:1.4;margin:10px 0 10px;letter-spacing:-.01em}
.tpl-video .f-card p{font-size:14px;color:var(--muted);line-height:1.7}
.tpl-video .f-card .row{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.tpl-video .f-card .pr{font-size:24px;font-weight:800;color:var(--price);letter-spacing:-.6px}
.tpl-video .f-card .pr i{font-style:normal;font-size:13px;font-weight:600}
.tpl-video .f-card .buy{font-size:13px;font-weight:700;color:#fff;background:var(--ink);padding:10px 20px;border-radius:999px;transition:.2s}
.tpl-video .f-card .buy:hover{background:var(--blue)}
/* 同上：商品架让出一列 .ct-main（250px）后，最小宽收到 255 才排得下 3 列 */
.tpl-video .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:24px}
.tpl-video .g{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05);transition:.28s;display:block}
.tpl-video .g:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tpl-video .g-img{position:relative;aspect-ratio:1/1;background:var(--soft);overflow:hidden}
.tpl-video .g-img img{width:100%;height:100%;object-fit:cover;transition:.55s}
.tpl-video .g:hover .g-img img{transform:scale(1.06)}
.tpl-video .g-tag{position:absolute;left:12px;top:12px;background:rgba(29,29,31,.86);color:#fff;font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;backdrop-filter:blur(6px)}
.tpl-video .g-acts{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateX(8px);transition:.28s}
.tpl-video .g:hover .g-acts{opacity:1;transform:none}
.tpl-video .g-acts button{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 4px 14px rgba(0,0,0,.16);display:grid;place-items:center;transition:.2s}
.tpl-video .g-acts button svg{width:16px;height:16px;stroke:#424245}
.tpl-video .g-acts button:hover{background:var(--blue)}
.tpl-video .g-acts button:hover svg{stroke:#fff}
.tpl-video .g-bd{padding:18px 20px 22px}
.tpl-video .g-name{font-size:15px;font-weight:600;line-height:1.5;height:45px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tpl-video .g-meta{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
.tpl-video .g-price{font-size:22px;font-weight:800;color:var(--price);letter-spacing:-.6px}
.tpl-video .g-price i{font-style:normal;font-size:13px;font-weight:600}
.tpl-video .g-ship{font-size:11px;color:#86868b;background:var(--soft);padding:3px 9px;border-radius:6px}
.tpl-video .story{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.tpl-video .story .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.tpl-video .story .ph img{width:100%;height:100%;object-fit:cover}
.tpl-video .story blockquote{font-size:clamp(22px,2.4vw,32px);font-weight:700;line-height:1.5;letter-spacing:-.02em;margin-bottom:22px}
.tpl-video .story p{font-size:16px;color:var(--muted);line-height:1.85}
.tpl-video .story .nums{display:flex;gap:34px;margin-top:32px;flex-wrap:wrap}
.tpl-video .story .nums div b{display:block;font-size:32px;font-weight:800;letter-spacing:-.02em}
.tpl-video .story .nums div span{font-size:13px;color:#86868b}
.tpl-video .trust{background:var(--ink);color:#fff}
.tpl-video .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.tpl-video .ti{text-align:center}
.tpl-video .ti .ic{width:56px;height:56px;margin:0 auto 16px;border-radius:18px;background:rgba(255,255,255,.09);display:grid;place-items:center}
.tpl-video .ti svg{width:26px;height:26px;stroke:#7fb8ff}
.tpl-video .ti h4{font-size:16px;font-weight:600;margin-bottom:8px}
.tpl-video .ti p{font-size:13px;color:rgba(255,255,255,.58);line-height:1.7}
/* 页脚同页头：由 site_footer.php 在模板之外输出，原来的 .tpl-video .footer-* 一组
   （含深色底、白色 logo 反色）全部匹配不到，是死代码，删掉。 */
@media(max-width:1200px){
.tpl-video .wrap{padding-left:28px;padding-right:28px}
.tpl-video .feat{grid-template-columns:1fr 1fr}
.tpl-video .story{grid-template-columns:1fr;gap:34px}
}
@media(max-width:900px){
.tpl-video .vhero{height:88vh;min-height:540px}
.tpl-video .vhero-foot{padding:0 20px 20px;flex-direction:column;align-items:flex-start;gap:12px}
.tpl-video .scroll-cue{display:none}
.tpl-video section.blk{padding:60px 0}
.tpl-video .feat{grid-template-columns:1fr}
.tpl-video .grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px}
.tpl-video .g-bd{padding:14px 14px 18px}
.tpl-video .g-name{font-size:13px;height:39px}
.tpl-video .g-price{font-size:18px}
.tpl-video .g-acts{opacity:1;transform:none}
.tpl-video .trust-grid{grid-template-columns:repeat(2,1fr);gap:26px}
.tpl-video .wrap{padding-left:20px;padding-right:20px}
.tpl-video .story .nums{gap:22px}
}
@media(max-width:420px){
.tpl-video .vbtn{padding:14px 24px;font-size:15px}
}


/* ===== 对齐共用页头与「全球会员分布」地图到本模板版心 =====
   这几条故意不加模板前缀：页头与地图区块本就在模板作用域之外（index.php 先 include
   site_header.php，模板只出中段），只能用无前缀选择器命中它们。
   只收最大宽度与左右内边距；配色、结构、链接一律不碰。 */
.site-unified-header .header-inner,.site-unified-header .header-search-inner{max-width:var(--wrap);padding-left:40px;padding-right:40px}
.global-map-header,.global-map-container{max-width:var(--wrap)}
@media(max-width:1200px){
.site-unified-header .header-inner,.site-unified-header .header-search-inner{padding-left:28px;padding-right:28px}
}
@media(max-width:900px){
.site-unified-header .header-inner,.site-unified-header .header-search-inner{padding-left:20px;padding-right:20px}
}

/* ===== 首屏高度：真实页头不是浮在视频上的透明条，所以不再占满 100vh ===== */
.tpl-video .vhero{height:auto;min-height:min(76vh,760px)}
.tpl-video .vhero.no-video{background:#0b0b0d center/cover no-repeat}
