/*
Theme Name: FORMA SOURCE
Theme URI: https://example.com/forma-source
Author: FORMA SOURCE
Description: Native editorial WordPress theme for a China furniture B2B sourcing platform.
Version: 1.0.0
Requires PHP: 8.1
Text Domain: forma-source
*/

/* GlobalHeader and one shared content grid. Existing module layouts stay intact. */
:root{--site-content-max:1525px;--site-gutter:32px;--site-content-width:calc(100% - var(--site-gutter)*2);--zgh-navy:var(--trade-navy,#0b2946);--zgh-gold:var(--trade-gold,#af9054);--zgh-border:#c7d0da}
html:has(#zgh-page){scroll-padding-top:80px}
#zgh-page{--shell:min(1525px,calc(100% - 48px))}
#zgh-page :is(.zgh-container,.shell,.trade-shell,.v2-container,.zhr-wrap,.ztf-home,.portal-container,.portal-footer-columns,.portal-footer-bottom){width:var(--site-content-width)!important;max-width:var(--site-content-max)!important;margin-inline:auto!important;padding-inline:0!important;box-sizing:border-box}
#zgh-page>.fs-launch-notice{display:none}
#zgh-page .portal-footer{padding-inline:0!important}
#zgh-page .site-main{padding-top:0}
.zgh-header,.zgh-compact{color:var(--zgh-navy);font-family:var(--zh-font,Arial,sans-serif);font-size:14px;line-height:1.4}
.zgh-header *,.zgh-compact *{box-sizing:border-box}
.zgh-header{position:relative;z-index:110;background:#fff}
.zgh-preview{height:34px;display:flex;align-items:center;background:#fcf2d9;color:#71572f;text-align:center;font-size:12px;line-height:16px}
.zgh-masthead,.zgh-full-slot{height:108px}
.zgh-tools{display:grid;grid-template-columns:260px minmax(0,1fr) 112px;column-gap:24px;align-items:center;width:100%;height:108px;min-width:0}
.zgh-brand{display:block;min-width:0;color:var(--zgh-navy);text-decoration:none}
.zgh-wordmark{display:block;white-space:nowrap;font-size:28px;line-height:34px;font-weight:400;letter-spacing:.2px}
.zgh-wordmark strong{font-weight:700}
.zgh-tagline{display:block;margin-top:3px;font-size:14px;line-height:20px;letter-spacing:1px;white-space:nowrap}
.zgh-monogram{display:none}
.zgh-search{display:block;margin:0;min-width:0;width:100%}
.zgh-scope-tabs{display:flex;align-items:center;height:24px;margin-bottom:6px;gap:18px}
.zgh-scope-tabs button{appearance:none;padding:0;border:0;background:none;color:#566575;font:400 14px/20px var(--zh-font,Arial,sans-serif);cursor:pointer}
.zgh-scope-tabs button+button{padding-left:18px;border-left:1px solid #dbe2e9}
.zgh-scope-tabs button[aria-pressed=true]{color:var(--zgh-navy);font-weight:700}
.zgh-search-row{display:flex;height:46px;width:100%;min-width:0;border:1px solid var(--zgh-border);border-radius:1px;background:#fff;overflow:hidden}
.zgh-search-row:focus-within{outline:2px solid #af905450;outline-offset:1px}
.zgh-search-row input{flex:1;min-width:0;width:0;padding:0 14px;border:0;border-radius:0;outline:0;background:#fff;color:var(--zgh-navy);font:400 14px/1.4 var(--zh-font,Arial,sans-serif);box-shadow:none}
.zgh-search-row input::placeholder{color:#758596;opacity:1}
.zgh-search-row select{display:none;width:100px;flex:none;padding:0 8px;border:0;border-right:1px solid #dbe2e9;background:#fff;color:var(--zgh-navy);font:400 14px/1.4 var(--zh-font,Arial,sans-serif);cursor:pointer;border-radius:0}
.zgh-submit{display:flex;align-items:center;justify-content:center;gap:12px;flex:0 0 156px;width:156px;min-height:0;border:0;border-radius:0;padding:0 12px;background:var(--zgh-navy);color:#fff;font:600 15px/1.4 var(--zh-font,Arial,sans-serif);cursor:pointer;transition:background 200ms ease}
.zgh-submit:hover{background:#123954}
.zgh-submit svg{flex:none;display:block}
.zgh-language{position:relative;width:112px;margin-top:30px;z-index:3;font-size:13px}
.zgh-language summary{display:flex;align-items:center;justify-content:center;gap:12px;height:46px;padding:0 12px;border:1px solid var(--zgh-gold);background:#fff;color:var(--zgh-navy);font-weight:600;cursor:pointer;list-style:none;transition:background 200ms ease}
.zgh-language summary::-webkit-details-marker{display:none}
.zgh-language summary:hover,.zgh-language[open] summary{background:#fbf7ed}
.zgh-language-options{position:absolute;top:calc(100% + 2px);right:0;width:140px;border:1px solid #d8dfe6;background:#fff;box-shadow:0 3px 12px #0000000d}
.zgh-language-options a,.zgh-language-options>span{display:block;padding:10px 14px;font-size:13px;line-height:18px;white-space:nowrap;text-decoration:none}
.zgh-language-options a:hover{background:#fbf7ed}
.zgh-language-options a[aria-current]{color:#967237;font-weight:600}
.zgh-language-options>span{color:#9aa2ab}
.zgh-nav{height:52px;background:var(--zgh-navy)}
.zgh-nav-inner{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));height:52px}
#zgh-page .zgh-nav-link{display:flex;align-items:center;justify-content:center;height:52px;min-width:0;padding:0 5px;border-bottom:3px solid transparent;color:#fff;font-size:15px;font-weight:600;line-height:20px;text-align:center;text-decoration:none;transition:color 200ms ease}
#zgh-page .zgh-nav-link:hover{color:#ead09a}
#zgh-page .zgh-nav-link[aria-current=page]{color:#ead09a;border-bottom-color:var(--zgh-gold)}
.zgh-menu-toggle,.zgh-menu-close,.zgh-mobile-languages{display:none}
.zgh-compact{position:fixed;top:0;left:0;right:0;z-index:1000;height:64px;background:#fff;box-shadow:0 2px 12px #00000012;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform 220ms ease,opacity 180ms ease,box-shadow 220ms ease,visibility 220ms}
.zgh-compact.is-active{transform:translateY(0);opacity:1;visibility:visible}
.zgh-compact-slot{height:64px}
.zgh-compact .zgh-tools{height:64px;grid-template-columns:210px minmax(0,1fr) 100px}
.zgh-compact .zgh-wordmark{font-size:22px;line-height:28px}
.zgh-compact .zgh-tagline,.zgh-compact .zgh-scope-tabs{display:none}
.zgh-compact .zgh-search-row,.zgh-compact .zgh-language summary{height:42px}
.zgh-compact .zgh-search-row select{display:block}
.zgh-compact .zgh-submit{flex-basis:112px;width:112px;font-size:14px}
.zgh-compact .zgh-language{width:100px;margin-top:0}
.zgh-menu-backdrop{position:fixed;inset:0;z-index:1010;border:0;background:#0b29464d;padding:0}
.zgh-menu-backdrop[hidden]{display:none}
#zgh-page :is(.zgh-header,.zgh-compact) :is(a,button,summary,select):focus-visible{outline:2px solid var(--zgh-gold);outline-offset:3px}
.zgh-skip{z-index:1050}
/* Move the existing section directory into its existing collapsible mode if the unified grid leaves no side gutter. */
@media(min-width:1660px){#zgh-page .zhr-rail{left:calc((100% - 1525px)/2 - 104px)!important}}
@media(min-width:768px) and (max-width:1659px){#zgh-page .zhr-rail{left:4px!important;top:auto!important;bottom:16px;transform:none!important;width:104px!important}#zgh-page .zhr-rail-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;height:32px;padding:4px 6px;border:0;background:var(--zgh-navy);color:#fff;font-size:12px}#zgh-page .zhr-rail #zhr-rail-list{display:none}#zgh-page .zhr-rail.is-open #zhr-rail-list{display:block}}
@media(min-width:768px) and (max-width:1199px){.zgh-tools{grid-template-columns:210px minmax(0,1fr) 90px;column-gap:16px}.zgh-wordmark{font-size:23px;line-height:30px}.zgh-tagline{font-size:12px;letter-spacing:.2px}.zgh-language{width:90px}.zgh-submit{flex-basis:110px;width:110px}#zgh-page .zgh-nav-link{font-size:13px}.zgh-compact .zgh-tools{grid-template-columns:174px minmax(0,1fr) 84px;gap:14px}.zgh-compact .zgh-wordmark{font-size:20px}.zgh-compact .zgh-language{width:84px}.zgh-compact .zgh-submit{flex-basis:84px;width:84px;gap:6px}#zgh-page.fs-language-en .zgh-nav-link{font-size:12px;white-space:nowrap}.fs-language-en .zgh-nav-inner{grid-template-columns:repeat(9,minmax(128px,1fr));overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.fs-language-en .zgh-nav-inner::-webkit-scrollbar{display:none}}
@media(min-width:768px) and (max-width:900px){.zgh-tools{grid-template-columns:174px minmax(0,1fr) 80px;gap:12px}.zgh-wordmark{font-size:20px}.zgh-tagline{font-size:10px}.zgh-language{width:80px}.zgh-language summary{padding-inline:6px;gap:7px}.zgh-submit{width:82px;flex-basis:82px;gap:5px;font-size:13px}.zgh-compact .zgh-tools{grid-template-columns:142px minmax(0,1fr) 76px;gap:10px}.zgh-compact .zgh-wordmark{font-size:17px}.zgh-compact .zgh-language{width:76px}.zgh-compact .zgh-submit{width:64px;flex-basis:64px}.zgh-compact .zgh-submit svg{width:17px}.zgh-search-row select{width:90px;font-size:13px}}
@media(max-width:767px){
 :root{--site-gutter:16px}
 #zgh-page{--shell:min(1525px,calc(100% - 32px))}
 html:has(#zgh-page){scroll-padding-top:72px}
 .zgh-preview{height:34px;font-size:11px;line-height:14px}
 .zgh-masthead,.zgh-full-slot{height:114px}
 .zgh-tools{height:114px;grid-template-columns:minmax(0,1fr) 80px 36px;grid-template-rows:40px 46px;gap:8px;padding-block:10px}
 .zgh-brand{grid-column:1;grid-row:1}.zgh-wordmark{font-size:20px;line-height:28px}.zgh-tagline{display:none}
 .zgh-search{grid-column:1/-1;grid-row:2}.zgh-scope-tabs{display:none}.zgh-search-row select{display:block;width:84px;font-size:14px}.zgh-search-row input{font-size:16px;padding-inline:8px}.zgh-submit{width:44px;flex-basis:44px;padding:0}.zgh-submit span{display:none}
 .zgh-language{grid-column:2;grid-row:1;width:80px;margin:0}.zgh-language summary{height:36px;font-size:12px;padding:0 8px;gap:8px}
 .zgh-menu-toggle{grid-column:3;grid-row:1;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #dbe2e9;background:#fff;color:var(--zgh-navy);cursor:pointer}
 .zgh-nav{position:fixed;inset:0 0 0 auto;width:min(340px,calc(100% - 40px));height:100dvh;z-index:1020;padding:20px;background:#fff;overflow:auto;visibility:hidden;transform:translateX(105%);transition:transform 220ms ease,visibility 220ms}
 .zgh-nav.is-open{transform:none;visibility:visible}.zgh-menu-open{overflow:hidden}.zgh-menu-open .zgh-header{z-index:1020}
 #zgh-page .zgh-nav-inner{display:flex;flex-direction:column;width:100%!important;max-width:none!important;height:auto;gap:0}
 .zgh-menu-close{align-self:flex-end;display:block;width:38px;height:38px;margin:0 0 8px;border:1px solid #dbe2e9;background:#fff;color:var(--zgh-navy);font-size:26px;line-height:1;cursor:pointer}
 #zgh-page .zgh-nav-link{display:flex;justify-content:flex-start;flex:none;width:100%;height:45px;padding:0 12px;border-bottom:1px solid #e5eaf0;color:var(--zgh-navy);font-size:15px}
 #zgh-page .zgh-nav-link[aria-current=page]{border-bottom:1px solid #e5eaf0;border-left:3px solid var(--zgh-gold);padding-left:9px;background:#fbf7ed;color:#967237}
 .zgh-mobile-languages{display:flex;flex-wrap:wrap;gap:16px;padding:20px 12px;color:var(--zgh-navy);font-size:13px}.zgh-mobile-languages>span{flex-basis:100%;color:#758596}.zgh-mobile-languages a[aria-current]{color:#967237}
 .zgh-compact,.zgh-compact-slot{height:58px}.zgh-compact .zgh-tools{height:58px;grid-template-columns:30px minmax(0,1fr) 32px;grid-template-rows:40px;gap:8px;padding-block:9px}
 .zgh-compact .zgh-wordmark,.zgh-compact .zgh-language{display:none}.zgh-compact .zgh-monogram{display:block;font-size:21px;line-height:28px;font-weight:700;letter-spacing:-1px}
 .zgh-compact .zgh-search{grid-column:2;grid-row:1}.zgh-compact .zgh-search-row{height:40px}.zgh-compact .zgh-submit{width:36px;flex-basis:36px;padding:0}.zgh-compact .zgh-search-row select{width:72px;font-size:12px;padding-inline:4px}.zgh-compact .zgh-menu-toggle{width:32px;height:36px}
}
@media(prefers-reduced-motion:reduce){.zgh-compact,.zgh-nav{transition:none}}

/* Public type tokens; module geometry remains owned by its existing component. */
:root{--zh-font:"PingFang SC","Microsoft YaHei","Source Han Sans SC","Helvetica Neue",Arial,sans-serif;--sans:var(--zh-font);--zh-section:24px;--zh-card:16px;--zh-body:13px;--zh-meta:12px}
body:not(.wp-admin){font-family:var(--zh-font)!important;font-size:13px;line-height:1.5}
body:not(.wp-admin) :is(h1,h2,h3,h4,p,a,button,input,select,textarea,label,li,dt,dd,small,span,strong,b,em):not(:where(.dashicons,[class*="dashicons-"])){font-family:var(--zh-font)!important;letter-spacing:0}
body:not(.home):not(.wp-admin) :is(main,.site-main,.portal-main){font-size:13px;line-height:1.5}
body:not(.home):not(.wp-admin) h1{font-size:30px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:0!important}
body:not(.home):not(.wp-admin) h2{font-size:24px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:0!important}
body:not(.home):not(.wp-admin) h3{font-size:16px!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important}
body:not(.home):not(.wp-admin) :is(.button,.text-link,.desktop-nav a,.anchor-nav a,.filter-panel label,.filter-head a,.maker-link,.portal-footer a){font-size:13px!important;line-height:20px!important;font-weight:400}
body #global-header .zgh-nav-link{font-size:13px!important;font-weight:500!important;line-height:20px!important;white-space:nowrap}
@media(min-width:1181px){body .zgh-nav-inner{grid-template-columns:.65fr 1.3fr 1.8fr .7fr 1.1fr 1.4fr 1.1fr .9fr 1fr!important}}
body:not(.home) :is(.site-footer,.portal-footer) h2{font-size:16px!important;line-height:22px!important}
