/* ==========================================================================
   Xingwei Ceramics — Profile Stylesheet
   源: xingwei/assets/style.css (静态原站, 逐行移植以保证像素级复刻)
   由 Yundian_Profile_Loader 自动入队, 依赖 yundian-main, 后加载故同名规则优先。
   保留: 原 :root 变量 / 原 class 命名 / data-theme 三主题。
   追加: --yundian-* 映射 (末段), 供主题构建器组件在 Xingwei 外观下复用。
   ========================================================================== */

:root{--bg:#f8f8f8;--ink:#161616;--mut:#989f9b;--line:#dcdcd6;--dk:#161616;--dk2:#1c1c1c;
--blue:#0c5eff;--cta:#ff550c;--w:#fff;
--sans:'Space Grotesk',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
--mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;
-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--cta);color:#fff}
.wrap{max-width:1320px;margin:0 auto;padding:0 32px}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.mono b{color:var(--ink);font-weight:500}
/* ---------- header ---------- */
.marquee{background:var(--dk);color:#fff;overflow:hidden;height:34px;display:flex;align-items:center}
.marquee div{white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
animation:mq 32s linear infinite;color:#b7b7b7}
.marquee span{margin:0 28px}.marquee i{color:var(--cta);font-style:normal;margin-right:8px}
@keyframes mq{to{transform:translateX(-50%)}}
header{position:sticky;top:0;z-index:90;background:rgba(248,248,248,.88);backdrop-filter:blur(14px);
border-bottom:1px solid var(--line)}
.nav{max-width:1320px;margin:0 auto;padding:0 28px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.nav-l{display:flex;align-items:center;gap:30px;min-width:0}
.nav-r{display:flex;align-items:center;gap:14px;flex:none}
.logo{display:flex;align-items:center}
.logo img{display:block;height:40px;width:auto}
nav.main{display:flex;gap:2px}
nav.main a{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
padding:8px 9px;color:var(--ink);position:relative;white-space:nowrap}
nav.main a:hover{color:var(--blue)}
nav.main a.act::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--cta)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;
text-transform:uppercase;padding:13px 22px;border:1px solid var(--ink);color:var(--ink);transition:.25s cubic-bezier(.2,.7,.2,1)}
.btn:hover{background:var(--ink);color:#fff}
.btn.cta{background:var(--cta);border-color:var(--cta);color:#fff}
.btn.cta:hover{background:color-mix(in srgb,var(--cta) 85%,#000);border-color:transparent}
.btn.ghostw{border-color:#fff;color:#fff}.btn.ghostw:hover{background:#fff;color:var(--ink)}
.btn .arw{font-family:var(--sans)}
/* ---------- hero ---------- */
.hero{position:relative;height:88vh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:var(--dk)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,22,22,.05) 40%,rgba(22,22,22,.82))}
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:64px;color:#fff}
.hero h1{font-size:clamp(34px,5.2vw,68px);line-height:1.06;letter-spacing:-.03em;font-weight:600;max-width:15em}
.hero h1 em{font-style:normal;color:var(--em)}
.hero p.lead{max-width:560px;margin:22px 0 30px;color:#d9d9d4;font-size:17px}
.hero .mono{color:#9aa39c;margin-bottom:18px;display:block}
/* ---------- section scaffolding ---------- */
section{padding:96px 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.sec-head h2{font-size:clamp(26px,3.2vw,42px);line-height:1.12;letter-spacing:-.025em;font-weight:600}
.sec-head .note{color:var(--mut);font-size:15px;max-width:34em;justify-self:end}
.dk{background:var(--dk);color:#eceae5}
.dk .mono{color:#7d857e}.dk h2,.dk h3{color:#fff}
/* hairline grid */
.grid{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.dk .grid{border-color:#333}.dk .grid>*{border-color:#333}
.g5{grid-template-columns:repeat(5,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
/* material cell */
.mcell{padding:0;position:relative;display:flex;flex-direction:column;transition:background .3s}
.mcell:hover{background:#fff}
.mcell .im{aspect-ratio:3/2;overflow:hidden}
.mcell .im img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mcell:hover .im img{transform:scale(1.045)}
.mcell .tx{padding:22px 22px 26px}
.mcell h3{font-size:19px;font-weight:600;letter-spacing:-.01em;margin:6px 0 8px}
.mcell p{font-size:13.5px;color:var(--mut)}
.mcell .go{margin-top:16px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--cta)}
/* industry card */
.icard{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.icard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.icard:hover img{transform:scale(1.05)}
.icard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,22,22,.1),rgba(22,22,22,.85))}
.icard .tx{position:relative;z-index:2;padding:30px}
.icard h3{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:8px 0 10px}
.icard p{font-size:14px;color:#d4d4cf;max-width:30em}
/* spec table */
table.spec{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff}
table.spec th{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:left;
padding:12px 14px;background:var(--dk);color:#fff;font-weight:500}
table.spec td{padding:11px 14px;border-bottom:1px solid var(--line)}
table.spec tr:hover td{background:#f1f1ec}
table.spec td:first-child{font-weight:600}
.note-sm{font-size:12px;color:var(--mut);margin-top:12px}
/* split block */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.rev>:first-child{order:2}
.split img{width:100%;aspect-ratio:3/2;object-fit:cover}
.split h2{font-size:clamp(24px,2.8vw,36px);line-height:1.15;letter-spacing:-.02em;font-weight:600;margin:14px 0 18px}
.split p{color:#55524e;font-size:15.5px;margin-bottom:14px}
ul.tick{list-style:none;margin:18px 0 26px}
ul.tick li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--line);font-size:14.5px}
ul.tick li::before{content:"::";position:absolute;left:0;color:var(--cta);font-family:var(--mono)}
/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #333}
.stats div{padding:34px 28px;border-right:1px solid #333}
.stats div:last-child{border-right:0}
.stats b{display:block;font-size:clamp(30px,3.4vw,46px);font-weight:600;letter-spacing:-.03em;color:#fff;line-height:1}
.stats span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7d857e;display:block;margin-top:10px}
/* FAQ */
.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
padding:20px 4px;font-size:16.5px;font-weight:500;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--cta);font-size:18px;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.faq .ans{padding:0 4px 22px;color:#55524e;font-size:14.5px;max-width:60em}
/* CTA band */
.ctaband{position:relative;overflow:hidden;padding:110px 0;color:#fff;background:var(--dk)}
.ctaband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.ctaband .wrap{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.ctaband h2{font-size:clamp(28px,3.6vw,48px);line-height:1.1;letter-spacing:-.025em;font-weight:600;max-width:16em}
.ctaband .mono{color:#9aa39c}
/* footer */
footer{background:var(--dk2);color:#9aa39c;padding:72px 0 34px;font-size:13.5px}
.foot-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.6fr;gap:48px;padding-bottom:48px;border-bottom:1px solid #2c2c2c}
.foot-g .foot-h{font-family:var(--mono);font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:#6d756e;margin:13px 0 16px}
.foot-g a{display:block;padding:5px 0;color:#b9bdb4}
.foot-g a:hover{color:#fff}
.foot-g .brand{display:inline-flex;align-items:center;background:#fff;padding:10px 14px;border-radius:3px}
.foot-g .brand img{display:block;height:36px;width:auto}
.foot-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em}
/* sub page hero */
.phero{background:var(--dk);color:#fff;padding:120px 0 72px}
.phero h1{font-size:clamp(30px,4.4vw,56px);line-height:1.08;letter-spacing:-.03em;font-weight:600;max-width:18em}
.phero p{margin-top:18px;color:#c9ccc4;max-width:44em;font-size:16px}
.crumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7d857e;margin-bottom:22px;display:block}
.crumb a:hover{color:#fff}
/* forms */
form.rfq{background:#fff;border:1px solid var(--line);padding:44px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.f-group{margin-bottom:6px}
label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);display:block;margin:18px 0 4px}
input,select,textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 2px;
font-family:var(--sans);font-size:15px;color:var(--ink);outline:none;transition:border-color .25s;border-radius:0}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--blue)}
textarea{resize:vertical;min-height:96px}
.consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0;font-size:12.5px;color:var(--mut)}
.consent input{width:auto;margin-top:3px}
/* blog list */
.bitem{display:grid;grid-template-columns:110px 1fr 120px;gap:28px;padding:26px 4px;border-bottom:1px solid var(--line);align-items:baseline}
.bitem:hover{background:#fff}
.bitem h3{font-size:19px;font-weight:600;letter-spacing:-.01em}
.bitem .tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cta)}
/* article */
.article{max-width:760px}
.article h2{font-size:24px;margin:44px 0 14px;letter-spacing:-.02em}
.article h3{font-size:18px;margin:30px 0 10px}
.article p{margin-bottom:16px;color:#3f3c38;font-size:15.5px}
.article ul{margin:0 0 16px 22px;color:#3f3c38;font-size:15.5px}
.article li{margin-bottom:6px}
.article img{margin:28px 0}
.article blockquote{border-left:2px solid var(--cta);padding:6px 0 6px 20px;margin:26px 0;color:#55524e;font-size:17px}
/* misc */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.chip{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);padding:8px 14px;color:#55524e}
.dk .chip{border-color:#333;color:#9aa39c}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.wa{position:fixed;right:22px;bottom:22px;z-index:99;background:#25d366;color:#fff;font-family:var(--mono);
font-size:10px;letter-spacing:.12em;padding:13px 18px;border-radius:100px;box-shadow:0 6px 24px rgba(0,0,0,.22);text-transform:uppercase}
.wa:hover{background:#1eb856}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.prose p{color:#3f3c38;font-size:15.5px;margin-bottom:14px;max-width:62em}
.prose h3{font-size:19px;margin:30px 0 12px}
@media(max-width:960px){
 .g5{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr}.g2,.split,.two-col,.sec-head{grid-template-columns:1fr}
 .split.rev>:first-child{order:0}.stats{grid-template-columns:repeat(2,1fr)}
 nav.main{display:none}.foot-g{grid-template-columns:1fr 1fr}.f-row{grid-template-columns:1fr}
 section{padding:64px 0}.bitem{grid-template-columns:1fr;gap:6px}
}
@media(max-width:600px){.g5{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}

/* ---------- theme variants ---------- */
:root{--em:#ffb59a}
html[data-theme="red"]{
 --bg:#ffffff;--mut:#8f8f8f;--line:#e6e6e6;--cta:#d90429;--blue:#d90429;--em:#ff8fa0;
 --dk:#141414;--dk2:#1a1a1a}
html[data-theme="blue"]{
 --bg:#ffffff;--mut:#8f969e;--line:#e4e8ec;--cta:#0a56c2;--blue:#0a56c2;--em:#8fb8ff;
 --dk:#101923;--dk2:#16222e}
.mcell:hover{background:color-mix(in srgb,var(--bg) 70%,#fff)}
/* ---------- floating theme switcher ---------- */
.themesw{position:fixed;left:22px;bottom:22px;z-index:99;font-family:var(--mono)}
.themesw .tg{display:flex;align-items:center;gap:8px;background:var(--dk);color:#b9bdb4;
 font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:12px 16px;border-radius:100px;
 cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.22);border:1px solid #333;user-select:none}
.themesw .tg:hover{color:#fff}
.themesw .panel{position:absolute;left:0;bottom:52px;background:var(--dk2);border:1px solid #333;
 border-radius:14px;padding:8px;min-width:190px;display:none;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.themesw.open .panel{display:block}
.themesw .opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;
 cursor:pointer;color:#b9bdb4;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.themesw .opt:hover{background:#2a2a2a;color:#fff}
.themesw .opt.on{color:#fff;background:#262626}
.themesw .dot{width:14px;height:14px;border-radius:50%;border:1px solid #555;flex:none}
.themesw .dot.d0{background:linear-gradient(135deg,#f8f8f8 50%,#ff550c 50%)}
.themesw .dot.d1{background:linear-gradient(135deg,#ffffff 50%,#d90429 50%)}
.themesw .dot.d2{background:linear-gradient(135deg,#ffffff 50%,#0a56c2 50%)}

/* ---------- light hero (white banner image) ---------- */
.hero.light{background:#fff;align-items:flex-start}
.hero.light::after{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 45%)}
.hero.light .wrap{padding-top:110px;padding-bottom:0;color:var(--ink)}
.hero.light h1 em{color:var(--cta)}
.hero.light .mono{color:var(--mut)}
.hero.light p.lead{color:#55524e}

.hero.light .btn.ghostw{border-color:var(--ink);color:var(--ink)}
.hero.light .btn.ghostw:hover{background:var(--ink);color:#fff}

/* ---------- homepage hero carousel ---------- */
.hero-car{position:relative;height:88vh;min-height:560px;overflow:hidden;background:#fff}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 1s}
.slide.on{opacity:1;visibility:visible;z-index:2}
.slide img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide .wrap{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:flex-start;padding-top:110px}
.slide h1,.slide h2.hslide{font-size:clamp(32px,4.8vw,62px);line-height:1.08;letter-spacing:-.03em;font-weight:600;max-width:15em;margin:0}
.slide p.lead{max-width:540px;margin:20px 0 28px;font-size:16.5px}
.slide .mono{display:block;margin-bottom:16px}
.slide.light{color:var(--ink)}
.slide.light::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.25) 45%,rgba(255,255,255,0) 70%)}
.slide.light .mono{color:var(--mut)}
.slide.light p.lead{color:#55524e}
.slide.light h1 em,.slide.light h2.hslide em{font-style:normal;color:var(--cta)}
.slide.dark{color:#fff}
.slide.dark::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,18,.78) 0%,rgba(18,18,18,.35) 50%,rgba(18,18,18,.05) 80%)}
.slide.dark .mono{color:#9aa39c}
.slide.dark p.lead{color:#d9d9d4}
.slide.dark h1 em,.slide.dark h2.hslide em{font-style:normal;color:var(--em)}
.slide.dark h1,.slide.light h1,.slide.dark h2.hslide,.slide.light h2.hslide{color:inherit}
.car-dots{position:absolute;left:32px;bottom:28px;z-index:10;display:flex;gap:10px}
.car-dots button{width:40px;height:4px;border:0;background:rgba(120,120,120,.35);cursor:pointer;position:relative;overflow:hidden;padding:0}
.car-dots button.on::after{content:"";position:absolute;inset:0;background:var(--cta);animation:dotfill 6s linear forwards}
@keyframes dotfill{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
.car-arrows{position:absolute;right:32px;bottom:22px;z-index:10;display:flex;gap:8px}
.car-arrows button{width:44px;height:44px;border:1px solid rgba(120,120,120,.5);background:rgba(255,255,255,.75);
 backdrop-filter:blur(6px);cursor:pointer;font-family:var(--mono);font-size:15px;color:#161616;transition:.25s}
.car-arrows button:hover{background:#161616;color:#fff}
.slide .num{position:absolute;right:36px;top:96px;z-index:3;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:rgba(120,120,120,.8)}
@media(max-width:960px){.slide .wrap{padding-top:88px}.slide h1,.slide h2.hslide{font-size:32px}.car-dots{left:20px}.car-arrows{right:20px}}

/* ---------- nav dropdowns ---------- */
nav.main .has-sub{position:relative;display:flex}
nav.main .sub{position:absolute;top:100%;left:0;min-width:252px;background:#fff;border:1px solid var(--line);
box-shadow:0 16px 40px rgba(22,22,22,.12);padding:10px 0;opacity:0;visibility:hidden;
transform:translateY(8px);transition:all .18s cubic-bezier(.2,.7,.2,1);z-index:95}
nav.main .sub::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
nav.main .has-sub:hover .sub,nav.main .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
nav.main .sub a{display:flex;align-items:baseline;gap:14px;padding:11px 20px;white-space:nowrap}
nav.main .sub a:hover{color:var(--cta)}
nav.main .sub a em{font-style:normal;font-size:9.5px;color:var(--mut);min-width:38px;letter-spacing:.12em}
nav.main .sub a:hover em{color:var(--cta)}
/* P3: 语言切换器占用约 81px 后, 1280 及以下收窄 nav 间距/内边距, 避免整行溢出视口 (1242px → ~1156px) */
@media(max-width:1280px){
 .nav{gap:14px}
 .nav-l{gap:18px}
 nav.main a{padding:8px 6px}
}

/* ---------- trust marquee ---------- */
.trustmarq{overflow:hidden;padding:40px 0;border-top:1px solid var(--line)}
.trustmarq .ttrack{display:flex;width:max-content;animation:mq 46s linear infinite}
.trustmarq:hover .ttrack{animation-play-state:paused}
.trustmarq .tset{display:flex;align-items:center;gap:72px;padding-right:72px}
.trustmarq img.tc{height:236px;width:auto;border:1px solid var(--line);background:#fff;padding:8px;transition:.3s}
.trustmarq img.tc:hover{border-color:var(--ink)}
.trustmarq.logos{border-top:0;padding:10px 0 46px}
.trustmarq.logos .ttrack{animation-duration:34s}
.trustmarq img.tl{height:44px;width:auto;opacity:.55;transition:.3s}
.trustmarq img.tl:hover{opacity:1}

/* ---------- product example cards ---------- */
.mcell .tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.mcell .tags span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
color:#55524e;border:1px solid var(--line);padding:5px 10px}
/* category quick nav + spec table */
.catnav{display:flex;flex-wrap:wrap;gap:10px}
.catnav a{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:8px 14px;color:var(--ink);text-decoration:none}
.catnav a:hover{border-color:var(--cta);color:var(--cta)}
.spec{width:100%;border-collapse:collapse;font-size:14px}
.spec th,.spec td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}
.spec th{font-size:10.5px;letter-spacing:.12em;width:38%}
.mcell .go{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cta)}
.tags span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#55524e;border:1px solid var(--line);padding:5px 10px}

/* ---------- P2 新增: 站内搜索入口 (D1) / footer 订阅栏 (D2) ---------- */
.sbtn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;
background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:.25s cubic-bezier(.2,.7,.2,1)}
.sbtn:hover{border-color:var(--ink);color:var(--blue)}
.xwsearch{display:none;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.xwsearch.open{display:block}
.xwsearch form{max-width:1320px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;gap:18px}
.xwsearch .xws-lbl{flex:none}
.xwsearch input[type=search]{flex:1;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;
padding:10px 2px;font-family:var(--sans);font-size:16px;color:var(--ink);outline:none;border-radius:0}
.xwsearch input[type=search]:focus{border-bottom-color:var(--blue)}
.xws-go{flex:none;display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;
letter-spacing:.16em;text-transform:uppercase;padding:12px 20px;border:0;background:var(--cta);color:#fff;cursor:pointer}
.xws-go:hover{background:color-mix(in srgb,var(--cta) 85%,#000)}
.msearch{display:flex;align-items:center;gap:8px;padding:14px 0 6px;border-bottom:1px solid var(--line)}
.msearch input[type=search]{flex:1;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;
padding:10px 2px;font-family:var(--sans);font-size:15px;color:var(--ink);outline:none;border-radius:0}
.msearch button{flex:none;width:40px;height:40px;border:0;background:var(--cta);color:#fff;font-size:16px;cursor:pointer}
.foot-news p{color:#b9bdb4;font-size:13px;margin:0}
.foot-news .nlform{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.foot-news .nlform input[type=email]{flex:1 1 140px;min-width:0;background:transparent;border:1px solid #333;color:#fff;
font-family:var(--sans);font-size:13px;padding:11px 12px;border-radius:0;outline:none}
.foot-news .nlform input[type=email]::placeholder{color:#6d756e}
.foot-news .nlform input[type=email]:focus{border-color:var(--cta)}
.foot-news .nlform button{flex:none;padding:12px 16px;font-size:10px}
.foot-news .nlmsg{margin-top:10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.foot-news .nlmsg.ok{color:#4ade80}
.foot-news .nlmsg.err{color:#ff8a5c}

/* ---------- P3 新增: 语言切换器 (D4) ---------- */
.xwlang{position:relative;display:flex;flex:none;align-self:center}
.xwlang summary{display:flex;align-items:center;gap:7px;height:38px;padding:0 12px;border:1px solid var(--line);
background:transparent;color:var(--ink);cursor:pointer;list-style:none;font-family:var(--mono);font-size:10.5px;
letter-spacing:.12em;text-transform:uppercase;transition:.25s cubic-bezier(.2,.7,.2,1)}
.xwlang summary::-webkit-details-marker{display:none}
.xwlang summary::after{content:"▾";font-size:9px;line-height:1;color:var(--mut)}
.xwlang summary:hover,.xwlang[open] summary{border-color:var(--ink);color:var(--blue)}
.xwlang .sub{position:absolute;top:100%;right:0;min-width:196px;background:#fff;border:1px solid var(--line);
box-shadow:0 16px 40px rgba(22,22,22,.12);padding:10px 0;z-index:95;opacity:0;visibility:hidden;
transform:translateY(8px);transition:all .18s cubic-bezier(.2,.7,.2,1)}
.xwlang[open] .sub{opacity:1;visibility:visible;transform:none}
.xwlang .sub a{display:flex;align-items:baseline;gap:12px;padding:10px 18px;white-space:nowrap;
font-family:var(--sans);font-size:13px;color:var(--ink);text-decoration:none}
.xwlang .sub a em{font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--mut);
min-width:26px;letter-spacing:.12em;text-transform:uppercase}
.xwlang .sub a:hover,.xwlang .sub a.act{color:var(--cta)}
.xwlang .sub a:hover em,.xwlang .sub a.act em{color:var(--cta)}
.mnav .mlang{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px}
.mnav .mlang .mlang-lbl{color:var(--mut);flex:none}
.mnav .mlang a{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
text-decoration:none;border:1px solid var(--line);padding:7px 12px;display:inline-block}
.mnav .mlang a:hover,.mnav .mlang a.act{border-color:var(--cta);color:var(--cta)}

/* ---------- P2 新增: 搜索结果页 (兴威风格覆写 search.php) ---------- */
.phero form.sform{display:flex;gap:14px;margin-top:26px;max-width:660px}
.phero form.sform input[type=search]{flex:1;min-width:0;background:transparent;border:0;border-bottom:1px solid #4a4a4a;
padding:12px 2px;font-family:var(--sans);font-size:17px;color:#fff;outline:none;border-radius:0}
.phero form.sform input[type=search]::placeholder{color:#7d857e}
.phero form.sform input[type=search]:focus{border-bottom-color:var(--cta)}
.phero form.sform button{flex:none;display:inline-flex;align-items:center;gap:10px;border:0;background:var(--cta);color:#fff;
font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:13px 22px;cursor:pointer}
.phero form.sform button:hover{background:color-mix(in srgb,var(--cta) 85%,#000)}
.sres-wrap{padding-top:0}
.sres-wrap .sgroup{margin-bottom:52px}
.sres-wrap .sgroup:last-child{margin-bottom:0}
.sres-wrap .sgroup-h{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.sres-wrap .sgroup-h .mono{color:var(--cta)}
.sres-wrap .sgroup-h .cnt{margin-left:auto;color:var(--mut)}
.sres-item{display:grid;grid-template-columns:110px 1fr 90px;gap:26px;padding:24px 4px;border-bottom:1px solid var(--line);align-items:center}
.sres-item:hover{background:#fff}
.sres-item .sim{display:block;aspect-ratio:3/2;overflow:hidden;background:#ecece6}
.sres-item .sim img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sres-item:hover .sim img{transform:scale(1.05)}
.sres-item h3{font-size:18px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.sres-item p{font-size:13.5px;color:var(--mut);margin:0}
.sres-item .sarw{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--cta);text-align:right}
.sres-empty{padding:56px 0;color:var(--mut);font-size:15px}

/* mobile navigation */
.burger{display:none}
.mnav{display:none}
@media(max-width:960px){
 .btn.n-cta{display:none}
 .sbtn{display:none}
 .xwlang{display:none}
 .xwsearch{display:none}
 .sres-item{grid-template-columns:72px 1fr;gap:16px}
 .sres-item .sarw{display:none}
 .phero form.sform{max-width:100%}
 .burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:var(--dk);border:0;cursor:pointer;padding:0 11px;position:relative;z-index:300;flex:none}
 .burger span{display:block;height:2px;background:#fff;transition:.25s}
 .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .burger.open span:nth-child(2){opacity:0}
 .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .mnav{display:flex;flex-direction:column;position:fixed;inset:0;background:#fff;z-index:200;padding:96px 28px 40px;overflow:auto;transform:translateY(-103%);transition:transform .32s cubic-bezier(.2,.7,.2,1)}
 .mnav.open{transform:none}
 .mnav a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:14px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;display:block}
 .mnav details{border-bottom:1px solid var(--line)}
 .mnav summary{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:14px;padding:14px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
 .mnav summary::-webkit-details-marker{display:none}
 .mnav summary::after{content:"+";color:var(--cta);font-size:16px}
 .mnav details[open] summary::after{content:"\2013"}
 .mnav details a{font-size:11px;padding:10px 0 10px 16px;border:0;color:#55524e}
 .mnav .m-cta{margin-top:24px;text-align:center;background:var(--cta);color:#fff;border:0;padding:16px;font-size:13px}
}

/* ==========================================================================
   Xingwei Profile — WordPress 适配层
   1) --yundian-* 桥接: 让主题构建器组件 (按钮/卡片/表单) 复用 Xingwei 外观
   2) WP 全局元素归位: 抵消 yundian-main 的容器/排版副作用
   3) WooCommerce 骨架: 让 WC 默认模板继承 Xingwei 视觉
   ========================================================================== */

body.xingwei-profile-active{
  --yundian-primary:#ff550c;
  --yundian-primary-hover:#e64a0b;
  --yundian-primary-dark:#161616;
  --yundian-secondary:#161616;
  --yundian-accent:#0c5eff;
  --yundian-text:#161616;
  --yundian-text-muted:#989f9b;
  --yundian-bg:#f8f8f8;
  --yundian-card-bg:#fff;
  --yundian-border:#dcdcd6;
}

/* WP 全局元素归位 */
body.xingwei-profile-active .yundian-container{max-width:1320px;margin:0 auto;padding:0 32px;width:auto}
body.xingwei-profile-active #page,.yundian-page-wrapper{background:transparent}
body.xingwei-profile-active main{display:block}

/* WooCommerce 骨架: 继承 Xingwei 视觉 */
body.xingwei-profile-active .woocommerce-breadcrumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--mut);padding:24px 0}
body.xingwei-profile-active .woocommerce-breadcrumb a:hover{color:var(--ink)}
body.xingwei-profile-active .woocommerce .star-rating span::before{color:var(--cta)}
body.xingwei-profile-active .woocommerce .price{font-family:var(--mono);color:var(--ink)}
body.xingwei-profile-active .woocommerce-message,body.xingwei-profile-active .woocommerce-info{
 border-top-color:var(--cta)}
body.xingwei-profile-active .woocommerce-message::before,body.xingwei-profile-active .woocommerce-info::before{color:var(--cta)}
body.xingwei-profile-active .woocommerce a.button,body.xingwei-profile-active .woocommerce button.button,
body.xingwei-profile-active .woocommerce input.button{background:var(--ink);color:#fff;border-radius:0;
 font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:13px 22px}
body.xingwei-profile-active .woocommerce a.button:hover{background:var(--cta)}

/* ---------- P3 新增: 阿拉伯语 RTL 覆写 (D2) ---------- */
/* 1) 字体形态: 阿语回落 Tahoma/Arial; mono 栈追加阿文兜底 (generic 仍置于末尾) */
[dir="rtl"]{--mono:'IBM Plex Mono',Tahoma,Arial,ui-monospace,'SFMono-Regular',monospace}
[dir="rtl"] body{font-family:'Space Grotesk',Tahoma,Arial,'PingFang SC','Microsoft YaHei',sans-serif}
/* 阿文为连写文字, 取消宽字距 (仅限会渲染译文的元素) */
[dir="rtl"] .mono,[dir="rtl"] nav.main a,[dir="rtl"] .mnav a,[dir="rtl"] .mnav summary,
[dir="rtl"] label,[dir="rtl"] .btn,[dir="rtl"] .crumb,[dir="rtl"] .chip,[dir="rtl"] .catnav a,
[dir="rtl"] .foot-g .foot-h,[dir="rtl"] .foot-base,[dir="rtl"] .xws-go,[dir="rtl"] .mcell .go,
[dir="rtl"] .stats span,[dir="rtl"] table.spec th,[dir="rtl"] .bitem .tag,[dir="rtl"] .sres-item .sarw,
[dir="rtl"] .xwlang summary,[dir="rtl"] .mnav .mlang a,[dir="rtl"] .foot-news .nlmsg,
[dir="rtl"] .mcell .tags span,[dir="rtl"] .tags span{letter-spacing:0}

/* 2) 导航: 镜像 auto margin 与下拉对齐 */
[dir="rtl"] nav.main .sub{left:auto;right:0}
[dir="rtl"] .xwlang .sub{right:auto;left:0}
[dir="rtl"] .sres-wrap .sgroup-h .cnt{margin-left:0;margin-inline-start:auto}

/* 3) 绝对定位元件镜像 */
[dir="rtl"] .car-dots{left:auto;right:32px}
[dir="rtl"] .car-arrows{right:auto;left:32px}
[dir="rtl"] .slide .num{right:auto;left:36px}
[dir="rtl"] .wa{right:auto;left:22px}
[dir="rtl"] .themesw{left:auto;right:22px}
[dir="rtl"] .themesw .panel{left:auto;right:0}

/* 4) 文本对齐 / 列表 / 引用块: 物理属性翻转 */
[dir="rtl"] table.spec th,[dir="rtl"] .spec th,[dir="rtl"] .spec td{text-align:right}
[dir="rtl"] .sres-item .sarw{text-align:left}
[dir="rtl"] ul.tick li{padding-left:0;padding-right:30px}
[dir="rtl"] ul.tick li::before{left:auto;right:0}
[dir="rtl"] .article ul{margin-left:0;margin-right:22px}
[dir="rtl"] .article blockquote{border-left:0;border-right:2px solid var(--cta);padding-left:0;padding-right:20px}
[dir="rtl"] .mnav details a{padding-left:0;padding-right:16px}
[dir="rtl"] .reveal[style*="border-left"]{border-left:0;border-right:1px solid #333}

/* 5) 方向性图形: marquee 反向 / 箭头翻转 / hero 渐变镜像 / 进度条原点 */
[dir="rtl"] .marquee div,[dir="rtl"] .trustmarq .ttrack{animation-direction:reverse}
[dir="rtl"] .arw{display:inline-block;transform:scaleX(-1)}
[dir="rtl"] .car-arrows button{transform:scaleX(-1)}
[dir="rtl"] .slide.light::after{background:linear-gradient(270deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.25) 45%,rgba(255,255,255,0) 70%)}
[dir="rtl"] .slide.dark::after{background:linear-gradient(270deg,rgba(18,18,18,.78) 0%,rgba(18,18,18,.35) 50%,rgba(18,18,18,.05) 80%)}
@keyframes dotfill-rtl{from{transform:scaleX(0);transform-origin:right}to{transform:scaleX(1);transform-origin:right}}
[dir="rtl"] .car-dots button.on::after{animation-name:dotfill-rtl}

/* 6) 数字/化学式保持 LTR: 阿语页 ZrO2 / 公差数值 不参与 RTL 重排 */
[dir="rtl"] .chip,[dir="rtl"] .tags span,[dir="rtl"] .mcell .tags span,
[dir="rtl"] table.spec td,[dir="rtl"] .spec td,[dir="rtl"] .stats b{unicode-bidi:isolate}
