/*
Theme Name: Astra Child
Theme URI: https://example.com/
Description: Astra Child Theme for ZZX Electronics
Author: ZZX
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/*
Theme Name: Astra Child
Theme URI: https://example.com/
Description: Astra Child Theme for ZZX Electronics
Author: ZZX
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* =========================================================
   GLOBAL NAV DROPDOWN FIX (Astra)
   Goal:
   - sub-menu should be normal size (no huge white overlay)
   - correct text color, spacing, hover
   - works on ALL pages (home/blog/product/etc)
   ========================================================= */

/* 0) Make menu containers stable for absolute-position dropdown */
.main-header-menu .menu-item-has-children,
.ast-builder-menu .menu-item-has-children,
.ast-nav-menu .menu-item-has-children {
  position: relative !important;
}

/* 1) Sub-menu box: prevent full-width overlay and force dropdown card */
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu,
.ast-nav-menu .sub-menu {
  /* Astra sometimes sets weird widths/heights; reset hard */
  width: max-content !important;
  min-width: 220px !important;
  max-width: 340px !important;
  height: auto !important;

  /* spacing + look */
  padding: 10px 8px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18) !important;

  /* positioning */
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: auto !important;
  z-index: 99999 !important;

  /* ensure it doesn't create a big clickable overlay */
  display: none;
}

/* 2) Show dropdown on hover/focus (desktop) */
.main-header-menu .menu-item-has-children:hover > .sub-menu,
.main-header-menu .menu-item-has-children:focus-within > .sub-menu,
.ast-builder-menu .menu-item-has-children:hover > .sub-menu,
.ast-builder-menu .menu-item-has-children:focus-within > .sub-menu,
.ast-nav-menu .menu-item-has-children:hover > .sub-menu,
.ast-nav-menu .menu-item-has-children:focus-within > .sub-menu {
  display: block !important;
}

/* 3) Sub-menu items: keep readable (always dark text on white dropdown) */
.main-header-menu .sub-menu a,
.ast-builder-menu .sub-menu a,
.ast-nav-menu .sub-menu a {
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  white-space: nowrap !important;

  /* reset Astra defaults that can cause weird block heights */
  line-height: 1.2 !important;
  display: block !important;
}

/* hover state */
.main-header-menu .sub-menu a:hover,
.ast-builder-menu .sub-menu a:hover,
.ast-nav-menu .sub-menu a:hover {
  background: rgba(11,92,255,0.08) !important;
}

/* 4) Prevent sub-menu UL/LI from stretching */
.main-header-menu .sub-menu,
.main-header-menu .sub-menu li,
.ast-builder-menu .sub-menu,
.ast-builder-menu .sub-menu li,
.ast-nav-menu .sub-menu,
.ast-nav-menu .sub-menu li {
  float: none !important;
  width: auto !important;
  max-width: none !important;
}

/* 5) Fix some Astra themes that set transform/visibility and create 闂傚倸鍊搁崐鐑芥嚄閸洖纾婚柕濞炬櫅绾惧潡鏌ょ喊鍗炲闁告姘ㄧ槐鎺撳緞婵犲啰绋?blank闂?*/
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu,
.ast-nav-menu .sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

/* 6) Mobile: keep default Astra behavior (dropdown expands in flow)
   Astra usually changes markup/state on mobile.
   We disable the absolute dropdown on small screens to avoid conflicts. */
@media (max-width: 921px) {
  .main-header-menu .sub-menu,
  .ast-builder-menu .sub-menu,
  .ast-nav-menu .sub-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    display: block !important;
  }

  .main-header-menu .sub-menu a,
  .ast-builder-menu .sub-menu a,
  .ast-nav-menu .sub-menu a {
    color: inherit !important;
    padding: 10px 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    white-space: normal !important;
  }
}

/* =========================
   ZZX Global Footer (Footer Bar Section 1/2)
   Works with Astra Free
   ========================= */

/* 闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩顐熷亾閿曞倸鐐婇柍杞扮閻忓﹤顪冮妶鍡欏缂侇喖绉瑰鍐差煥閸喓鍘?Astra footer bar 婵犵數濮甸鏍窗濡ゅ啯鏆滄俊銈呭暟閻瑩鏌熼悜妯镐粶闁逞屽墾缁犳挸鐣锋總绋课ㄦい鏃囧Г濞呭秹姊洪懡銈呅㈡繛娴嬫櫊钘熼柛鈩冨搸娴滃綊鏌熼悜妯虹仴缂佹劖绋戦—鍐Χ閸℃瑥顫ч梺鑽ゅ暀閸涱垳鐒奸梺绋跨灱閸嬬偤鍩涢幋锔界厽闁圭偓濞婇妤呮煛閸℃稐鎲鹃柡宀嬬節瀹曞ジ顢曢姀鐙€娼婚梻?闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓鈹戦悩鎰佸殶濠㈣埖鍔曠粻娑欍亜閺傚灝鈷旀?*/
.site-footer, .ast-footer-wrap,
.ast-footer-bar, .ast-footer-bar-wrap {
  background: transparent !important;
}
.ast-footer-bar {
  padding: 0 !important;
}

/* 婵犵數濮烽弫鍛婃叏娴兼潙鍨傜憸鐗堝笚閸嬪鏌曡箛瀣偓鏇㈡倷婵犲洦鐓忓璺虹墕閻忊晛霉濠婂嫬鍔ゆい顓炴健閹虫粓妫冨☉姗嗘綌闂備焦鎮堕崐鏇灻洪敃鍌氱疄闁靛鍎哄銊╂煕閳╁啨浠︾紒銊ヮ煼濮婄儤瀵煎▎鎾搭€嶇紓渚囧枛閻倸锕?*/
.zzx-foot{
  background:#0b2a55;
  color:rgba(255,255,255,0.86);
  padding: 54px 0 38px;
}
.zzx-foot a{ color:rgba(255,255,255,0.92); text-decoration:none; }
.zzx-foot a:hover{ color:#fff; text-decoration:underline; }

.zzx-foot-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
  display:grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr;
  gap: 34px;
}

@media (max-width: 980px){
  .zzx-foot-inner{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .zzx-foot-inner{ grid-template-columns: 1fr; }
}

.zzx-foot-logo{
  width:64px;height:64px;
  border-radius:14px;
  display:block;
  margin-bottom:12px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.10);
}

.zzx-foot-title{
  color:#fff;
  font-weight:900;
  letter-spacing:-0.2px;
  font-size:14px;
  margin: 6px 0 10px;
}

.zzx-foot-text{
  margin: 0 0 12px;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
  font-size: 13px;
}

/* 闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁嶉崟顒佹濠德板€曢幊宀勫焵椤掆偓閸燁垰顕ラ崟顖氱疀妞?*/
.zzx-foot-list{
  list-style:none;
  padding:0;
  margin:0;
}
.zzx-foot-list li{
  margin: 8px 0;
  line-height: 1.55;
  font-size: 13px;
  color: rgba(255,255,255,0.78);
}
.zzx-foot-list li strong{ color:#fff; }

/* Newsletter */
.zzx-foot-form{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.zzx-foot-form input{
  flex: 1 1 190px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  color:#fff;
  border-radius: 12px;
  padding: 10px 12px;
  outline:none;
}
.zzx-foot-form input::placeholder{ color: rgba(255,255,255,0.70); }
.zzx-foot-form button{
  background:#f7c948;
  border: 1px solid rgba(0,0,0,0.12);
  color:#111;
  font-weight:900;
  border-radius: 12px;
  padding: 10px 14px;
  cursor:pointer;
  box-shadow: 0 10px 18px rgba(0,0,0,0.18);
}
.zzx-foot-form button:hover{ filter: brightness(0.98); }

/* 缂傚倸鍊搁崐鎼佸磹妞嬪孩濯奸柡灞诲劚绾惧鏌熼崜褏甯涢柣鎾寸懄閵囧嫰寮借椤ユ粓鏌熼崘鏌ュ弰闁?*/
.zzx-foot-social{
  display:flex;
  gap:10px;
  margin-top: 12px;
}
.zzx-foot-social a{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:900;
  color:#fff;
}
.zzx-foot-social a:hover{ background: rgba(255,255,255,0.14); }

/* 闂傚倸鍊风粈浣革耿闁秴鍌ㄧ憸鏃堝箖濞差亜惟闁靛鍟浠嬪箖閵忋倖鍋傞幖杈剧秶缁辩敻姊绘担鍛婅础闁惧繐閰ｅ畷浼村冀椤愩倖锛?*/
.zzx-foot-bottom{
  background:#0a254d;
  color: rgba(255,255,255,0.80);
  border-top: 1px solid rgba(255,255,255,0.10);
  padding: 14px 0;
}
.zzx-foot-bottom-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
  display:flex;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
  font-size: 20px;
}
.zzx-foot-links{
  display:flex;
  gap: 14px;
  flex-wrap:wrap;
}
.zzx-foot-bottom a{
  color: rgba(255,255,255,0.88);
}
.zzx-foot-bottom a:hover{ color:#fff; text-decoration:underline; }

.zzx-footer-force { width: 100%; }
.zzx-footer-force .widget { margin: 0 !important; }


/* =========================
   Footer size upgrade (bigger like microchipusa)
   ========================= */

/* 闂傚倸鍊搁崐宄懊归崶褜娴栭柕濞炬櫆閸ゅ嫰鏌涢幘鑼妽鐎规洖寮剁换婵嬫濞戞艾鈪辩紓浣插亾濠电姴娲﹂崐鐢告煥濠靛棝顎楅柛妯绘尦閺屾稓鈧綆鍋呯亸顓㈡煃閽樺妲搁柍璇查铻ｉ柤濮愬€栧▓浠嬫⒑?+ 闂傚倸鍊峰ù鍥х暦閻㈢纾婚柣鎰暩閻瑩鏌熸潏楣冩闁稿孩顨婇弻娑樼暆閳ь剟宕戦悙鍝勭；?*/
.zzx-foot{
  padding: 78px 0 56px !important;   /* 闂傚倸鍊峰ù鍥х暦閸偅鍙忕€规洖娲︽刊濂告煛鐏炶鍔氶柣銈囧亾缁绘盯宕卞Ο铏逛憾闂佺顑嗛幑鍥涢崘銊㈡婵炲棙鍔栫€氭娊姊绘担鐑樺殌闁搞垺鐓￠獮濠傤潨閳ь剟鎮伴鍢夌喓浜搁弽褌澹曞┑鐐村灦閻燁垶鎮炴禒瀣厱闁瑰瓨绮庨惌娆愭叏婵犲啯銇濋柟顔界懇閹稿﹥寰勬繝鍌ゆ渐缂傚倸鍊风欢锟犲窗閺嶎厽鍎斿┑鍌滎焾閺嬩焦銇勯弴妤€浜炬繝寰枫倕鐓愮€垫澘瀚换婵嬪礋椤忓棛顦?*/
  font-size: 15px !important;        /* 闂傚倸鍊搁崐宄懊归崶褜娴栭柕濞炬櫆閸ゅ嫰鏌涢幘鑼妽鐎规洖寮剁换婵嬫濞戞艾鈪辩紓浣插亾濠电姴娲﹂崐鐢告煥濠靛棝顎楅柡瀣洴閺岋繝宕熼埡浣稿Е闂佸搫鏈粙鎴﹀煘閹达箑骞㈡俊銈咃梗閹絾绻濋悽闈涗粶闁瑰啿绻橀幃鐑藉煛閸涱厾鐣哄┑掳鍊愰崑鎾绘煃閽樺妲搁柍璇查铻ｉ柤濮愬€栧▓浠嬫⒑閼姐倕鏋戠紒顔肩Т椤灝螣娓氼垳鍔烽梺鐐藉劚绾绢參寮抽敃鍌涚叆婵犻潧妫欓崯鎺楁煟閺冨倸甯剁紒鐘冲浮閺岀喖宕崟顓夛綁鏌?*/
  line-height: 1.75 !important;
}

/* 闂傚倸鍊搁崐鐑芥倿閿曞倸绠栭柛顐ｆ礀绾惧潡鏌ょ喊鍗炲闁活厽鐟╅弻鐔告綇閸撗呮殸闂佹悶鍔岄崐褰掑Φ閸曨喚鐤€闁圭偓娼欏▍褔姊哄畷鍥╁笡婵炶尙鍠栭獮鍐ㄎ旈崨顔芥珳闁硅偐琛ラ崜婵嬫倶瀹ュ鈷戦柟绋挎捣閵嗘帡鏌涢悩宕囧⒌鐎殿喖顭烽弫鎾绘偐閼碱剙鈧偤姊洪崘鍙夋儓闁挎洏鍎佃棢闁瑰墽绮埛鎴︽煙閼测晛浠滃┑锛勬櫕缁辨帞鎷犻幓鎺濅痪缂?*/
.zzx-foot-inner{
  gap: 46px !important;
}

/* 闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍥╃厠闂佸搫顦伴崵姘洪宥嗘櫍濡炪値鍋掗崗姗€宕戦幘璇茬＜婵炴垶鍑瑰ù鍕煟鎼搭垳绉靛ù婊勭矊閻ｇ敻宕卞☉娆屾嫼闂佸憡绻傜€氬嘲危瑜版帗鐓曟い顓熷灥閻忥紕绱掗崒姘毙ч柡浣瑰姈瀵板嫮鈧綆鍓欓獮鎰版⒒娴ｈ鍋犻柛搴灦瀹曟繂顓奸崶锔惧墾闂佹寧娲栭崐褰掓偂閺囥垺鐓熼柡鍌涱儥濞堢娀鏌涙惔銏☆棃闁?*/
.zzx-foot-title{
  font-size: 16px !important;
  margin: 10px 0 14px !important;
}

/* 濠电姷鏁告慨鐢割敊閺嶎厼绐楁俊銈呭暞瀹曟煡鏌熼柇锕€鏋涚紒韬插€曡灃闁挎繂鎳庨弳娆撴煕?闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁嶉崟顒佹濠德板€曢幊宀勫焵椤掆偓閸燁垰顕ラ崟顖氱疀妞ゆ垟鏂傞崕鐢稿蓟濞戙垹绠涢梻鍫熺⊕閻忓牆鈹戦埥鍡椾簼闁挎洏鍨藉璇测槈閵忕姈銊╂煙鐎涙绠栭柛锝嗘そ閺岀喖骞撻幒婵堝悑濠殿喖锕ㄥ▍锝夊箖娴兼潙鐏抽柛蹇撴噹椤ユ岸姊婚崒娆愮グ妞ゆ洘鐗犲畷瑙勬償閵忊€愁€撻梻浣哥仢椤戝棗鐣?*/
.zzx-foot-text{
  font-size: 14px !important;
}

.zzx-foot-list li{
  font-size: 14px !important;
  margin: 10px 0 !important;
}

/* 闂傚倸鍊峰ù鍥х暦閸偅鍙忛柟鎯板Г閳锋梻鈧箍鍎遍ˇ顖炲垂閸岀偞鐓㈡俊顖滃皑缁辨岸鏌ㄥ┑鍡╂Ц缂佲偓鐎ｎ偁浜滈柟鍝勭Х閸忓瞼绱掓径濠勫煟婵﹨娅ｉ幉鎾礋椤愩垹袘闂備礁鎽滈崰搴ㄦ倶濠靛鏁嬮柨婵嗩槹閹偞銇勯幇鍓佺？缂?闂傚倸鍊搁崐椋庣矆娴ｉ潻鑰块梺顒€绉埀顒婄畵瀹曞ジ濡风€ｎ亝鍠橀柟顔炬櫕缁瑧鎹勯…鎴濇暪闂傚倷娴囬～澶愬磿閻撳宫娑㈠礋椤栨氨顢呴梺瑙勫劶婵倝鎮″☉姗嗙唵閻犺桨璀﹂崕蹇涙煟韫囨洖鏋庨棁?*/
.zzx-foot-form input{
  padding: 12px 14px !important;
  font-size: 14px !important;
}
.zzx-foot-form button{
  padding: 12px 16px !important;
  font-size: 14px !important;
}

/* 缂傚倸鍊搁崐鎼佸磹妞嬪孩濯奸柡灞诲劚绾惧鏌熼崜褏甯涢柣鎾寸懄閵囧嫰寮借椤ユ粓鏌熼崘鏌ュ弰闁诡喖娼￠、姘跺焵椤掆偓椤繐煤椤忓嫭宓嶅銈嗘寙閸涱厼歇濠碉紕鍋戦崐褎淇婇崶顒€鏋佸┑鐘虫皑瀹撲線鏌熼悧鍫熺凡缂佺媭鍣ｉ弻锕€螣娓氼垱笑閻庤鎸稿Λ婵嗩潖濞差亜浼犻柛鏇炵仛鏁堥梻浣稿閻撳牓宕规潏鈺冪焿?*/
.zzx-foot-social a{
  width: 40px !important;
  height: 40px !important;
  font-size: 14px !important;
}

/* 闂傚倸鍊风粈浣革耿闁秴鍌ㄧ憸鏃堝箖濞差亜惟闁靛鍟浠嬪箖閵忋倖鍋傞幖杈剧秶缁辩敻姊绘担鍛婅础闁惧繐閰ｅ畷浼村冀椤愩倖锛忛悷婊勬瀵顓兼径濞劑鏌曟繛鍨姢婵絻鍨藉鐑樺濞嗘垹鏆犵紓浣割槸缂嶅﹤顕ｆ繝姘櫢闁绘灏欓崐鐐烘⒑闂堟侗鐓┑鈥虫川缁瑩宕堕浣哄幗闂侀潧绻嗛弲娑㈡倶濞戙垺鐓曞┑鐘插暟婢ц京绱掗鐣屾噭鐎垫澘瀚伴獮鍥敆閸屾艾袝濠碉紕鍋戦崐鏍暜閹烘柡鍋撳鐓庡籍鐎?*/
.zzx-foot-bottom{
  padding: 18px 0 !important;
  font-size: 14px !important;
}
.zzx-foot-bottom-inner{
  padding: 0 18px !important;
  gap: 16px !important;
}

/* =========================
   Footer: taller + brand row (microchip-like)
   ========================= */

/* 闂傚倸鍊峰ù鍥х暦閸偅鍙忕€规洖娲︽刊濂告煛鐏炶鍔氶柣銈夌畺閺岋絽螣濞嗘儳娈弶鈺傜箖缁绘繈濮€閿濆懐鍘梺鍛婃⒐閻楃姴鐣烽悽绋跨倞闁靛绠戝鍨攽椤旂瓔娈旀俊顐ｎ殜閻涱喖螖閸愵亞锛滅紓鍌欓檷閸ㄥ綊鎮橀悩缁樻嚉闁哄稁鍘介悡鏇㈡倶閻愰潧浜鹃柛搴㈡そ閺岀喓鈧稒顭囩拹鈺傜箾瀹割喕绨婚梺瑁ゅ€栨穱濠囧Χ閸屾矮澹曢梻浣侯焾鐞氼偊宕濆澶婄疄闁靛鍎欓悢鐓庝紶闁告洏鍔嶇€垫牜绱撻崒娆掝唹闁稿鎹囬弻娑㈠即閵娿儳浠梺缁樻尰閻熲晠寮婚悢纰辨晣闁绘棃顥撻悷銊╂⒑閸涘﹥鐓熼柛搴＄－濡?microchipusa闂?*/
.zzx-foot{
  padding: 110px 0 80px !important;   /* 闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢埛姘そ閺佸啴宕掑槌栧敹闂備浇顫夐崕鍏兼叏閵堝纾婚柣鏃€鎮舵禍婊堟煛閸ヮ煈娈斿ù婊堢畺濮婄儤娼幍顕呮М缂備礁顦伴幐鎶芥晲閻愭祴鏀介悗锝呯仛閺呮繈姊洪棃娑氬婵炶绠撳畷?10 婵?0 */
}

/* 闂傚倸鍊搁崐鐑芥倿閿曞倸绠栭柛顐ｆ礀绾惧潡鏌ょ喊鍗炲闁活厽鐟╅弻鐔告綇閸撗呮殸闂佹悶鍔岄崐褰掑Φ閸曨喚鐤€闁圭偓娼欏▍褔姊哄畷鍥╁笡婵炶尙鍠栭獮鍐ㄎ旈崨顔芥珳闁硅偐琛ラ崜婵嬫倶瀹ュ鈷戦柟绋挎捣閵嗘帡鏌涢悩宕囧⒌鐎殿喖顭烽弫鎾绘偐閼碱剙鈧偤姊洪崘鍙夋儓闁挎洏鍎佃棢闁瑰墽绮埛鎴︽煙閼测晛浠滃┑锛勬櫕缁辨帞鎷犻幓鎺濅痪缂?*/
.zzx-foot-inner{
  gap: 56px !important;
}

/* Logo + 闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢敃鈧壕鍦磼鐎ｎ偓绱╂繛宸簻鍥存繝銏ｆ硾椤戝懏绂掗柆宥嗗仭婵犲﹤瀚ˉ鍫⑩偓娈垮櫘閸嬪嫰顢樻總绋挎そ濞达絿鎳撻崗濠冧繆閻愵亜鈧牠宕濋幋锕€纾归柕鍫濇椤曢亶鏌涢妷顔煎闁绘挾鍠栭弻锝夊箛椤掑娈堕梺瀹犳椤︾敻寮婚敓鐘查唶妞ゆ劑鍨归～鈺呮煣娴兼瑧鍒版い顓℃硶閹瑰嫰鎼归崷顓濈礃闂?*/
.zzx-foot-brand{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 16px;
}

/* Logo闂傚倸鍊搁崐鐑芥倿閿旈敮鍋撶粭娑樻噽閻瑩鏌熼悜姗嗘畷闁搞倕鑻灃闁挎繂鎳庨弳鐔衡偓瑙勬尫缁舵岸寮婚悢鐓庣闁逛即娼у▓顓犵磽娴ｅ搫孝闁哥喎娼￠垾锔炬崉閵婏箑纾繛鎾村嚬閸ㄨ鲸鏅ラ梺璇叉唉椤煤濡￥浜归柛鎰靛枟缁犳帡姊绘担鐟邦嚋缂佽鍊歌灋婵炲棙鍨归惌鍡涙煕閹伴潧鏋熼柣鎾寸〒閳ь剙鍘滈崑鎾绘煃瑜滈崜鐔风暦娴兼潙鍗抽柕蹇曞閿曞倹鐓欓柣妤€鐗婄欢鍙夈亜椤愩垺鍤囬柡宀嬬到閳诲海浠﹂幋鎺戭棜濠电姷顣藉Σ鍛村垂閺夎娑樷枎閹邦喒鏀?闂傚倸鍊搁崐鐑芥嚄閸洖鍌ㄧ憸鏂跨暦椤栫偛閿ゆ俊銈傚亾閻庢艾顦伴妵鍕箳閸℃ぞ澹曢梻?闂傚倸鍊风粈渚€骞栭位鍥敍閻愭潙浜遍梺瑙勬緲鎼存粎绱為弽褜鐔嗛柤鎼佹涧婵倿鏌?*/
.zzx-foot-logo{
  width: 64px !important;
  height: 64px !important;
  border-radius: 0 !important;        /* 婵犵數濮烽弫鎼佸磻閻愬搫鍨傞柛顐ｆ礀缁犱即鏌涘┑鍕姢闁活厽鎹囬弻锝夊箣濠垫劖缍楅梺閫炲苯澧柟铏耿瀵偊宕橀鑲╋紲濠殿喗锕╅崢鑲╃矈閸洘鈷掑ù锝堟閵嗗﹪鏌涢幘瀵哥疄鐎规洘鐟╅幃鐑芥焽閿旀儳濮洪梻浣规灱閺呮盯宕埡鍐╁床?*/
  background: transparent !important;  /* 婵犵數濮烽弫鎼佸磻閻愬搫鍨傞柛顐ｆ礀缁犱即鏌涘┑鍕姢闁活厽鎹囬弻锝夊箣濠垫劖缍楅梺閫炲苯澧柟铏耿瀵偊宕掗悙鏉戞疅闂侀潧顦崕杈ㄤ繆閹惰姤鈷掑ù锝呮啞閹牊绻涢懠顒€鈻堥柛鈹惧亾濡炪倖甯婄粈浣规櫠椤栨稐绻?*/
  border: 0 !important;               /* 婵犵數濮烽弫鎼佸磻閻愬搫鍨傞柛顐ｆ礀缁犱即鏌涘┑鍕姢闁活厽鎹囬弻锝夊箣濠垫劖缍楅梺閫炲苯澧柟铏耿瀵偊宕掗悙鏉戞疅闂侀潧锛忛崨鍛€濆娲嚒閵堝懏鐎鹃梺鑽ゅ枂閸庢娊鍩€椤掍焦鐨戦柛蹇斆?*/
  box-shadow: none !important;
  margin: 0 !important;
}

/* 闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鍐蹭画闂侀潧顦弲娑㈠磼閵娾晜鐓涚€广儱楠搁獮鏍煟閵堝鐣洪柡灞剧洴椤㈡洟鏁愰崱娆樻О闂備胶顭堟鎼佹儗閸岀偛钃熼柨鏇楀亾閾伙絽銆掑鐓庣仭濡ゆ棃姊绘担鍛婅础闁哄拋鍋婂畷浼村冀椤撶偠鎽曞┑鐐村灦鑿ら柡鈧禒瀣厱婵炴垶鐟︾欢鏌ユ煕濡嘲澧茬紒缁樼箞閸╂盯鍩€椤掑嫬绀嬫い鎾跺Х閺変粙鏌?*/
.zzx-foot-brand-text{
  color: #fff !important;
  font-weight: 900;
  font-size: 18px;
  letter-spacing: -0.2px;
  line-height: 1.2;
}

/* 闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍥╃厠闂佸搫顦伴崵姘洪宥嗘櫍濡炪値鍋掗崗姗€宕?闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鑼槷闂佸搫娲㈤崹鍦不閻樿绠归柟纰卞幘閸樻盯鏌℃担闈╄含闁哄瞼鍠栭幃褔宕奸悢鍝勫殥缂傚倷璁查崑鎾绘煕閹板吀绨撮柛瀣崌閻涱噣宕归鐓庮潛婵犵數鍋犵亸娆愭叏绾惧浜遍梻浣瑰濡啴寮鈧畷鎴﹀箻缂佹ê浠虹紓浣割儏閵囨﹢宕版繝鍥ㄢ拺闁告縿鍎辨牎濡炪們鍔岄敃銈夘敋閿濆鏁嗗ù锝囨嚀椤庢捇姊洪懡銈呮瀾濠㈢懓妫涚划锝夋倷閻戞ê浠┑鐘诧工閸熶即鎮樻潏鈺冪＜妞ゆ棁顫夊▍濠冾殽閻愯揪鑰挎い銏＄懇閹稿﹥寰勯崱妞惧闂佺粯鍨兼慨銈夋偂閻旂儤鍠愮€广儱顦粻鐑樼節婵犲倹鍣介柣顓炴椤法鎹勯搹鍦紘缂佺偓鍎抽崥瀣┍婵犲洤围闁告粈绀侀崜鎶芥⒑娴兼瑧绉ù婊冪埣瀵鎮㈢喊杈ㄦ櫓婵犻潧鍊婚…鍫濐嚕娴煎瓨鈷戦柟鑲╁仜婵′粙鏌涙惔銏犫枙闁炽儻绠撴俊鎼佸煛娴ｄ警妲伴梻渚€娼ч…鍫ュ礉婢舵劕绠柍銉︽灱閺€浠嬫煥濞戞ê顏╁ù婊冦偢閺屾稒绻濋崘鈺佹殫閻庡灚婢橀敃銉ф崲濠靛棭娼╂い鎺戝亞濡茶泛鈹戦悩缁樻锭闁稿﹤顭烽垾锕傚醇閵夛箑鈧爼鏌ц箛锝呬簽缂佲檧鍋撻梻鍌氬€搁悧濠冪瑹濡ゅ懏鍋傛い鎺嶈兌缁犻箖鏌ｉ幘鎶藉弰闁告瑥瀚伴弻?*/
.zzx-foot-title{ font-size: 24px !important; }
.zzx-foot-text,
.zzx-foot-list li{ font-size: 20px !important; }

/* Newsletter 闂傚倸鍊风粈渚€骞栭位鍥敍閻愭潙浜辨繝鐢靛Т濞层倗绮绘导瀛樼厵闂傚倸顕ˇ锕傛煟椤撶噥娈滈柡灞剧洴閸╁嫰宕橀悙顒夊悅婵犵數鍋涢悺銊╂偋閻樿钃熸繛鎴欏灩閻掓椽鏌涜箛濠冩珕闁搞劌缍婇幆鈧い蹇撶墱閺佸秹鏌ｉ幇顒夊殶闁?microchip闂傚倸鍊搁崐鐑芥倿閿旈敮鍋撶粭娑樻噽閻瑩鏌熼悜妯荤叆闁哄鐗忛埀顒€绠嶉崕閬嶅箖閸啔娲敂閸曨収鍞堕梺鐟板悑閹矂宕板Δ鍛仼閻犲洦绁撮弨浠嬫煃閽樺顥滈柣蹇ョ悼缁辨帡顢氶崨顓犱化闂佹眹鍎烘禍顏堛€佸☉銏″€烽悗鐢殿焾楠炴劙姊绘担鍛婂暈婵炶绠撳畷鎴﹀礋椤栵絾鏅㈤梺闈涚箚閳ь剝灏欑粻?*/
.zzx-foot-form input{
  height: 44px;
}
.zzx-foot-form button{
  height: 44px;
}

/* 闂傚倸鍊风粈浣革耿闁秴鍌ㄧ憸鏃堝箖濞差亜惟闁靛鍟浠嬪箖閵忋倖鍋傞幖杈剧秶缁辩敻姊绘担鍛婅础闁惧繐閰ｅ畷浼村冀椤愩倖锛忛悷婊勬瀵顓兼径濞劑鏌曟径鍫濆姕婵絾鍔欏娲传閸曨剙娅ら梺鑽ゅ暱閺呯姴顕ｇ拠娴嬫婵☆垱绮庨崰鏍箠閿熺姴围闁搞儜鍐У缂傚倸鍊搁崐鐑芥倿閿曗偓椤繗銇愰幒鎴狀唶闂佽鍎煎Λ鍕不?*/
.zzx-foot-bottom{
  padding: 22px 0 !important;
}

/* ===== Footer brand (logo + company name) x2 ===== */
.zzx-foot-brand{
  gap: 18px !important;
  margin-bottom: 22px !important;
}

/* logo 闂傚倸鍊搁崐宄懊归崶顒€违闁逞屽墴閺屾稓鈧綆鍋呭畷宀勬煛瀹€鈧崰鏍€佸☉銏犲耿闁哄洨鍣ュΟ鍌氣攽?2 闂傚倸鍊搁崐鐑芥嚄閸洍鈧箓宕奸妷锔芥珖闂侀潧鐗嗗ú銊╂儗濞嗘挻鐓曢柡鍥ュ妼楠炴銇?4 -> 128闂?*/
.zzx-foot-logo{
  width: 100px !important;
  height: 100px !important;
}

/* 闂傚倸鍊搁崐鐑芥嚄閸洍鈧箓宕煎婵堟嚀椤繄鎹勯搹璇℃Ф婵犵數鍋涘Λ妤€霉濮樿泛鍚规俊銈呮噺閻撴洟鏌熸导瀛樻锭闁哄鐩幃宄扳枎濞嗗浚娲梺閫炲苯澧紒鐘茬Ч瀹曟洟宕￠悙宥嗙☉閳诲酣骞樺畷鍥崜闂備浇宕甸崰鏍磻婵犲洦鍋?2 闂傚倸鍊搁崐鐑芥嚄閸洍鈧箓宕奸妷锔芥珖闂侀潧鐗嗗ú銊╂儗濞嗘挻鐓曢柡鍥ュ妼楠炴銇?8 -> 36闂?*/
.zzx-foot-brand-text{
  font-size: 30px !important;
  font-weight: 900 !important;
  letter-spacing: -0.4px !important;
}

/* 闂傚倸鍊峰ù鍥х暦閸偅鍙忕€规洖娲︽刊濂告煛鐏炶鍔氶柣銈囧亾缁绘繈妫冨☉鍗炲壘闂佽桨绀佺€氫即寮诲☉銏犖ㄩ柨婵嗘噹椤姊哄畷鍥╁笡婵☆偄鍟村璇差吋閸偅顎囬梻浣告啞閹搁箖宕版惔銊﹀仼鐎瑰嫰鍋婂鈺傘亜閹存梹娅嗘慨濠傜秺楠炲繘宕ㄩ娑樻瀭闂佸憡娲熷褔寮查鍛瘈闁汇垽娼ф禒鈺呮煙濞茶绨界€垫澘锕ラ妶锝夊礃閵娧屽敹闂佽崵濮村ú鈺吽夐崱娑欐優閻熸瑥瀚壕顖炴⒑闂堟丹娑㈠川椤撶媭鍞藉┑鐘垫暩閸嬬娀骞撻鍡楃筏闁秆勩仜閳ь剨绠撳畷鐓庮熆椤掍礁绗氱€垫澘瀚换娑㈡倷椤掑缍岄梻鍌欑濠€閬嶆惞鎼淬劌鍨傞柣妤€鐗忛々鎻捨旈敐鍛殲闁抽攱鍨圭槐鎾存媴婵埈浜濋幈銊﹀緞鐎ｎ剛顔曢梺鍛婁緱閸嬪嫰鎮橀鎴掔箚闁告瑥顦慨鍥煃鐠囨煡鍙勬鐐疵悾鐑藉炊閳轰礁绠戞繝纰夌磿閸嬫垿宕愰弽顓熷亱婵犲﹤鐗嗙壕濠氭煙閻楀牊绶茬痪鎯ь煼閺岀喖鎮欓浣虹▏缂備礁澧庨崑鐐垫崲濞戙垹绠ｉ柣鎰嚟濞堛倝姊虹紒妯尖棨闁稿骸纾Σ鎰板箻鐎涙ê顎撻梺鍛婃尰瑜板啴宕滈幍顔剧＝濞达絽澹婂Σ鎼佹煟鎺抽崝搴ｅ垝鐎ｎ亶鍚嬪璺猴工瀹撳棝姊虹紒妯活梿闁靛棌鍋撻梺鍝勵儐閻楁鎹㈠┑瀣仺闂傚牊鍒€閵忋倖鍊?闂傚倸鍊搁崐椋庣矆娓氣偓楠炴牠顢曢埛姘そ婵℃瓕顦崇€规洖寮剁换婵嬫濞戞艾顣甸梺绋款儐閹瑰洤鐣疯ぐ鎺濇晝闁靛緵銈囨闂?*/
.zzx-foot-col:first-child{
  transform: translateY(-6px);
}

/* 闂傚倸鍊峰ù鍥敋瑜忛幑銏ゅ箛椤旇棄搴婇梺褰掑亰閸犳鐣烽弻銉︾厵闁规鍠栭。濂告煕鎼淬垺宕岄柡灞剧洴閸╁嫰宕橀鍌楀亾閹烘柡鍋撶憴鍕矮缂佽埖宀稿濠氭晸閻樿尙鍊為梺鐓庢憸閺佸摜绮ｉ弮鍌滅＝闁稿本鑹鹃埀顒佹倐钘濋柣銏㈩焾閽冪喐绻涢幋鐐电煂闁汇倐鍋撻梻浣烘嚀婢х晫妲愰悢鍏兼櫜濠㈣泛顑呴埀顒€鐏氱换娑㈠箣閻愯尙鐟插┑鐐叉噹閿曪箓鍩€椤掑喚娼愭繛鍙夛耿閹兘鍩￠崨顓犵暫濡炪倖妫冮弫顕€宕戦幘缁橆棃婵炴垶鐟﹂崰鎰版⒑缂佹鈼ら柛搴＄－濡叉劙骞樼拠鑼紲濠殿喗锕╅崗姗€宕戦幘缁樺仺缂佸娉曢弻褍鈹戦悙鏉戠仧闁搞劍妞藉畷鏇烆吋閸℃劒绨婚梺鐟版惈缁夌兘宕楀畝鍕厓缂備焦蓱椤ュ牓鏌＄仦鐣屝ユい褌绶氶弻娑㈠箻鐎涙娈ょ紓?*/
@media (max-width: 640px){
  .zzx-foot-logo{ width: 88px !important; height: 88px !important; }
  .zzx-foot-brand-text{ font-size: 26px !important; }
}


/* Social icons use SVG */
.zzx-foot-social a{
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
}

.zzx-foot-social a svg{
  width: 20px;
  height: 20px;
  fill: #fff;
}

.zzx-foot-social a:hover{
  background: rgba(255,255,255,0.14);
}

/* Lock footer layout (prevents Contact page CSS from breaking it) */
.zzx-foot-inner{
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  align-items: start;
}
.zzx-foot-col{ float:none !important; width:auto !important; }

.zzx-cert-container{
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 28px;
  padding-right: 28px;
}

.zzx-cert-page,
.zzx-cert-viewer-page{
  background: #fff;
  color: #111827;
}

.zzx-cert-eyebrow{
  display: inline-block;
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #005bac;
  font-weight: 700;
  margin-bottom: 14px;
}

.zzx-cert-hero__topline{
  font-size: 13px;
  line-height: 1;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #334155;
  font-weight: 700;
  margin-bottom: 16px;
}

.zzx-cert-breadcrumbs{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #475569;
}

.zzx-cert-breadcrumbs a{
  color: #475569;
  text-decoration: none;
}

.zzx-cert-breadcrumbs a:hover{
  color: #005bac;
}

.zzx-cert-breadcrumbs__sep{
  color: #94a3b8;
}

.zzx-cert-hero{
  background: linear-gradient(180deg, #e9eff5 0%, #dfe8f0 100%);
  border-bottom: 1px solid #d7e0e8;
  padding: 28px 0 0;
}

.zzx-cert-hero__inner{
  display: flex;
  align-items: center;
  min-height: 250px;
  padding: 34px 0 48px;
}

.zzx-cert-hero__content{
  max-width: 820px;
}

.zzx-cert-hero h1{
  margin: 0 0 16px;
  font-size: 50px;
  line-height: 1.08;
  font-weight: 700;
  color: #0f172a;
}

.zzx-cert-hero p{
  margin: 0;
  font-size: 17px;
  line-height: 1.85;
  color: #475569;
}

.zzx-cert-main{
  padding: 52px 0 84px;
}

.zzx-cert-section-head{
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 34px;
  padding-bottom: 22px;
  border-bottom: 1px solid #e5e7eb;
}

.zzx-cert-section-head__left{
  max-width: 780px;
}

.zzx-cert-section-head__left h2{
  margin: 0 0 10px;
  font-size: 30px;
  line-height: 1.2;
  color: #0f172a;
}

.zzx-cert-section-head__left p{
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #64748b;
}

.zzx-cert-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  align-items: stretch;
}

.zzx-cert-card{
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid #dbe3eb;
  border-radius: 4px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.zzx-cert-card:hover{
  transform: translateY(-2px);
  border-color: #c7d3df;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.zzx-cert-card__media{
  background: #f4f7fa;
  border-bottom: 1px solid #e5edf4;
  min-height: 405px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.zzx-cert-card__media a{
  display: block;
  width: 100%;
  text-align: center;
}

.zzx-cert-card__media img{
  width: 100%;
  max-width: 250px;
  max-height: 345px;
  object-fit: contain;
  display: inline-block;
  background: #fff;
}

.zzx-cert-card__body{
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px 24px 26px;
}

.zzx-cert-card__tag{
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1;
  border-radius: 999px;
  background: #ebf4fd;
  color: #005bac;
  font-weight: 700;
  letter-spacing: .3px;
}

.zzx-cert-card__body h3{
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 700;
}

.zzx-cert-card__body h3 a{
  color: #0f172a;
  text-decoration: none;
}

.zzx-cert-card__body h3 a:hover{
  color: #005bac;
}

.zzx-cert-card__company{
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.7;
  color: #334155;
  font-weight: 600;
}

.zzx-cert-card__desc{
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.85;
  color: #64748b;
  flex: 1;
}

.zzx-cert-card__actions{
  margin-top: auto;
}

.zzx-cert-primary-btn,
.zzx-cert-outline-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 2px;
  transition: all .2s ease;
}

.zzx-cert-primary-btn{
  background: #005bac;
  color: #fff;
  border: 1px solid #005bac;
}

.zzx-cert-primary-btn:hover{
  background: #004b8c;
  border-color: #004b8c;
  color: #fff;
}

.zzx-cert-outline-btn{
  background: #fff;
  color: #0f172a;
  border: 1px solid #cbd5e1;
}

.zzx-cert-outline-btn:hover{
  color: #0f172a;
  border-color: #94a3b8;
}

.zzx-cert-viewer-hero{
  background: linear-gradient(180deg, #e9eff5 0%, #dfe8f0 100%);
  border-bottom: 1px solid #d7e0e8;
  padding: 28px 0 34px;
}

.zzx-cert-viewer-head{
  margin-top: 22px;
  max-width: 900px;
}

.zzx-cert-viewer-head h1{
  margin: 0 0 10px;
  font-size: 42px;
  line-height: 1.12;
  color: #0f172a;
}

.zzx-cert-viewer-head p{
  margin: 0;
  font-size: 15px;
  color: #64748b;
}

.zzx-cert-viewer-main{
  padding: 38px 0 84px;
}

.zzx-cert-viewer-toolbar{
  display: flex;
  justify-content: flex-start;
  margin-bottom: 18px;
}

.zzx-cert-frame-box{
  border: 1px solid #dbe3eb;
  background: #f8fafc;
  padding: 14px;
  border-radius: 4px;
}

@media (max-width: 1100px){
  .zzx-cert-hero h1{
    font-size: 42px;
  }

  .zzx-cert-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px){
  .zzx-cert-container{
    padding-left: 16px;
    padding-right: 16px;
  }

  .zzx-cert-hero,
  .zzx-cert-viewer-hero{
    padding-top: 20px;
  }

  .zzx-cert-hero__inner{
    min-height: auto;
    padding: 28px 0 38px;
  }

  .zzx-cert-hero h1{
    font-size: 32px;
  }

  .zzx-cert-hero p{
    font-size: 15px;
    line-height: 1.8;
  }

  .zzx-cert-section-head{
    flex-direction: column;
    align-items: flex-start;
  }

  .zzx-cert-section-head__left h2{
    font-size: 24px;
  }

  .zzx-cert-grid{
    grid-template-columns: 1fr;
  }

  .zzx-cert-card__media{
    min-height: 320px;
  }

  .zzx-cert-viewer-head h1{
    font-size: 30px;
  }

  .zzx-cert-breadcrumbs{
    font-size: 13px;
  }
}

.zzx-service-container{
  max-width:1280px;
  margin:0 auto;
  padding-left:28px;
  padding-right:28px;
}
.zzx-service-page{
  background:#fff;
  color:#0f172a;
}
.zzx-service-topline{
  font-size:12px;
  line-height:1;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#334155;
  font-weight:700;
  margin-bottom:16px;
}
.zzx-service-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  font-size:14px;
  color:#64748b;
}
.zzx-service-breadcrumbs a{
  color:#64748b;
  text-decoration:none;
}
.zzx-service-breadcrumbs a:hover{
  color:#005bac;
}
.zzx-service-eyebrow{
  display:inline-block;
  margin-bottom:14px;
  font-size:12px;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:#005bac;
  font-weight:700;
}
.zzx-service-hero{
  background:linear-gradient(180deg,#e9eff5 0%,#dfe8f0 100%);
  border-bottom:1px solid #d7e0e8;
  padding:48px 0 0;
}
.zzx-service-hero__content{
  max-width:820px;
  padding:34px 0 52px;
}
.zzx-service-hero h1{
  margin:0 0 16px;
  font-size:50px;
  line-height:1.08;
  font-weight:700;
}
.zzx-service-hero p{
  margin:0;
  font-size:17px;
  line-height:1.85;
  color:#475569;
}
.zzx-service-main{
  padding:56px 0 84px;
}
.zzx-service-section{
  margin-bottom:42px;
}
.zzx-service-section__intro{
  max-width:860px;
}
.zzx-service-section__intro h2,
.zzx-service-two-col h2,
.zzx-service-cta h2{
  margin:0 0 14px;
  font-size:30px;
  line-height:1.2;
}
.zzx-service-section__intro p,
.zzx-service-two-col p,
.zzx-service-cta p{
  margin:0;
  font-size:16px;
  line-height:1.9;
  color:#64748b;
}
.zzx-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin-bottom:42px;
}
.zzx-service-card{
  border:1px solid #dbe3eb;
  background:#fff;
  padding:26px 24px;
  border-radius:4px;
  box-shadow:0 8px 20px rgba(15,23,42,.03);
  display:flex;
  flex-direction:column;
}
.zzx-service-card h3{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.3;
}
.zzx-service-card p{
  margin:0 0 20px;
  font-size:15px;
  line-height:1.85;
  color:#64748b;
  flex:1;
}
.zzx-service-two-col{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  border-top:1px solid #e5e7eb;
  padding-top:36px;
}
.zzx-service-list{
  margin:0;
  padding-left:20px;
  color:#475569;
}
.zzx-service-list li{
  margin-bottom:12px;
  line-height:1.8;
}
.zzx-service-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  background:#005bac;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border:1px solid #005bac;
  border-radius:2px;
}
.zzx-service-btn:hover{
  background:#004b8c;
  border-color:#004b8c;
  color:#fff;
}
.zzx-service-btn--outline{
  background:#fff;
  color:#0f172a;
  border-color:#cbd5e1;
  margin-left:12px;
}
.zzx-service-btn--outline:hover{
  color:#0f172a;
  border-color:#94a3b8;
  background:#fff;
}
.zzx-service-cta{
  margin-top:22px;
}
.zzx-service-cta__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  padding:32px;
  border:1px solid #dbe3eb;
  background:#f8fafc;
  border-radius:4px;
}
.zzx-service-cta__actions{
  flex-shrink:0;
  white-space:nowrap;
}
@media (max-width:1100px){
  .zzx-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .zzx-service-two-col{
    grid-template-columns:1fr;
  }
  .zzx-service-cta__inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .zzx-service-hero h1{
    font-size:42px;
  }
}
@media (max-width:767px){
  .zzx-service-container{
    padding-left:16px;
    padding-right:16px;
  }
  .zzx-service-grid{
    grid-template-columns:1fr;
  }
  .zzx-service-hero h1{
    font-size:32px;
  }
  .zzx-service-hero p{
    font-size:15px;
    line-height:1.8;
  }
  .zzx-service-section__intro h2,
  .zzx-service-two-col h2,
  .zzx-service-cta h2{
    font-size:24px;
  }
  .zzx-service-btn--outline{
    margin-left:0;
    margin-top:12px;
  }
  .zzx-service-cta__actions{
    white-space:normal;
  }
}

.zzx-bom-form-highlight{
  margin-top: 36px;
  padding: 30px;
  border: 3px solid #0b5db3;
  border-radius: 8px;
  background: linear-gradient(180deg, #f4f9ff 0%, #ffffff 100%);
  box-shadow: 0 16px 40px rgba(11, 93, 179, 0.08);
}

.zzx-bom-form-head{
  margin-bottom: 22px;
}

.zzx-bom-form-kicker{
  font-size: 12px;
  line-height: 1;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #0b5db3;
  font-weight: 800;
  margin-bottom: 12px;
}

.zzx-bom-form-head h2{
  margin: 0 0 12px;
  font-size: 34px;
  line-height: 1.15;
  color: #0f172a;
}

.zzx-bom-form-head p{
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: #5b6878;
  max-width: 900px;
}

.zzx-bom-alert{
  padding: 14px 16px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.7;
  border: 1px solid transparent;
}

.zzx-bom-alert--success{
  background: #eef8f1;
  color: #17603a;
  border-color: #b7dfc5;
}

.zzx-bom-alert--error{
  background: #fff1f1;
  color: #a12626;
  border-color: #efc0c0;
}

.zzx-bom-form{
  border: 1px solid #cddcf0;
  background: #fff;
  border-radius: 6px;
  padding: 28px;
}

.zzx-bom-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.zzx-bom-field{
  display: flex;
  flex-direction: column;
}

.zzx-bom-field--full{
  margin-top: 20px;
}

.zzx-bom-field label{
  font-size: 14px;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 8px;
}

.zzx-bom-field label span{
  color: #c62828;
}

.zzx-bom-field input[type="text"],
.zzx-bom-field input[type="email"],
.zzx-bom-field input[type="file"],
.zzx-bom-field select,
.zzx-bom-field textarea{
  width: 100%;
  border: 1px solid #cfd8e3;
  background: #fff;
  border-radius: 2px;
  padding: 12px 14px;
  font-size: 14px;
  color: #0f172a;
  box-shadow: none;
}

.zzx-bom-field textarea{
  resize: vertical;
  min-height: 140px;
}

.zzx-bom-field input:focus,
.zzx-bom-field select:focus,
.zzx-bom-field textarea:focus{
  outline: none;
  border-color: #005bac;
}

.zzx-bom-help{
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: #64748b;
}

.zzx-bom-actions{
  margin-top: 24px;
}

.zzx-bom-submit-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 26px;
  background: #005bac;
  color: #fff;
  border: 1px solid #005bac;
  border-radius: 2px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.zzx-bom-submit-btn:hover{
  background: #004b8c;
  border-color: #004b8c;
}

@media (max-width: 767px){
  .zzx-bom-form-highlight{
    padding: 20px;
  }

  .zzx-bom-grid{
    grid-template-columns: 1fr;
  }

  .zzx-bom-form{
    padding: 20px;
  }

  .zzx-bom-form-head h2{
    font-size: 28px;
  }
}
.zzx-rfq-page{
  background:#fff;
  padding:40px 0 80px;
}

.zzx-rfq-container{
  max-width:980px;
  margin:0 auto;
  padding:0 20px;
}

.zzx-rfq-hero{
  text-align:center;
  margin-bottom:34px;
}

.zzx-rfq-topline{
  font-size:12px;
  line-height:1;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#334155;
  font-weight:700;
  margin-bottom:14px;
}

.zzx-rfq-breadcrumbs{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:#64748b;
  margin-bottom:18px;
  flex-wrap:wrap;
}

.zzx-rfq-breadcrumbs a{
  color:#64748b;
  text-decoration:none;
}

.zzx-rfq-breadcrumbs a:hover{
  color:#005bac;
}

.zzx-rfq-hero h1{
  margin:0 0 12px;
  font-size:48px;
  line-height:1.1;
  color:#0f172a;
}

.zzx-rfq-hero p{
  margin:0 auto;
  max-width:760px;
  font-size:16px;
  line-height:1.85;
  color:#64748b;
}

.zzx-rfq-box{
  border:4px solid #0b3d7a;
  border-radius:8px;
  padding:28px;
  background:#fff;
  box-shadow:0 14px 36px rgba(11,61,122,0.08);
}

.zzx-rfq-alert{
  padding:14px 16px;
  border-radius:4px;
  margin-bottom:20px;
  font-size:14px;
  line-height:1.7;
  border:1px solid transparent;
}

.zzx-rfq-alert--success{
  background:#eef8f1;
  color:#17603a;
  border-color:#b7dfc5;
}

.zzx-rfq-alert--error{
  background:#fff1f1;
  color:#a12626;
  border-color:#efc0c0;
}

.zzx-rfq-form{
  margin:0;
}

.zzx-rfq-section-title{
  font-size:15px;
  font-weight:800;
  color:#0f172a;
  margin-bottom:18px;
}

.zzx-rfq-grid{
  display:grid;
  gap:18px;
  margin-bottom:18px;
}

.zzx-rfq-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.zzx-rfq-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.zzx-rfq-grid--align-top{
  align-items:start;
}

.zzx-rfq-field{
  display:flex;
  flex-direction:column;
}

.zzx-rfq-field--full{
  margin-bottom:18px;
}

.zzx-rfq-field label{
  font-size:14px;
  font-weight:700;
  color:#0f172a;
  margin-bottom:8px;
}

.zzx-rfq-field label span{
  color:#c62828;
}

.zzx-rfq-field input[type="text"],
.zzx-rfq-field input[type="email"],
.zzx-rfq-field input[type="file"],
.zzx-rfq-field select,
.zzx-rfq-field textarea{
  width:100%;
  border:1px solid #cfd8e3;
  background:#fff;
  border-radius:2px;
  padding:12px 14px;
  font-size:14px;
  color:#0f172a;
  box-shadow:none;
}

.zzx-rfq-field textarea{
  resize:vertical;
  min-height:130px;
}

.zzx-rfq-field input:focus,
.zzx-rfq-field select:focus,
.zzx-rfq-field textarea:focus{
  outline:none;
  border-color:#005bac;
}

.zzx-rfq-radio-group{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:6px;
}

.zzx-rfq-radio-group label{
  font-weight:400;
  margin:0;
  display:flex;
  align-items:center;
  gap:8px;
}

.zzx-rfq-captcha-wrap{
  padding-top:4px;
}

.zzx-rfq-upload-box{
  margin-top:10px;
  margin-bottom:18px;
  border:1px dashed #cfd8e3;
  background:#f8fafc;
  padding:24px;
  border-radius:4px;
  text-align:center;
}

.zzx-rfq-upload-title{
  font-size:14px;
  color:#64748b;
  margin-bottom:16px;
}

.zzx-rfq-help{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.7;
  color:#64748b;
}

.zzx-rfq-actions{
  margin-top:8px;
}

.zzx-rfq-submit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:0 24px;
  background:#f0cf3a;
  color:#0f172a;
  border:1px solid #e2c22f;
  border-radius:2px;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

.zzx-rfq-submit-btn:hover{
  filter:brightness(0.98);
}

@media (max-width:767px){
  .zzx-rfq-hero h1{
    font-size:34px;
  }

  .zzx-rfq-box{
    padding:20px;
  }

  .zzx-rfq-grid--2,
  .zzx-rfq-grid--3{
    grid-template-columns:1fr;
  }
}

header .main-header-menu{
  display: flex;
  flex-wrap: nowrap !important;
  white-space: nowrap;
}

header .main-header-menu > li > a{
  padding-left: 10px !important;
  padding-right: 10px !important;
  white-space: nowrap;
}

header .site-header-primary-section-right{
  display: flex;
  flex-wrap: nowrap !important;
  gap: 14px;
}

#zzx-header-search-float.zzx-search-in-btnwrap .zzx-part-search{
  width: 170px !important;
  max-width: 170px !important;
  min-width: 140px !important;
}



.zzx-locations-container{
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 28px;
  padding-right: 28px;
}

.zzx-locations-page{
  background: #fff;
  color: #0f172a;
}

.zzx-locations-topline{
  font-size: 12px;
  line-height: 1;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #334155;
  font-weight: 700;
  margin-bottom: 16px;
}

.zzx-locations-breadcrumbs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: 14px;
  color: #64748b;
}

.zzx-locations-breadcrumbs a{
  color: #64748b;
  text-decoration: none;
}

.zzx-locations-breadcrumbs a:hover{
  color: #005bac;
}

.zzx-locations-eyebrow{
  display: inline-block;
  margin-bottom: 14px;
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #005bac;
  font-weight: 700;
}

.zzx-locations-hero{
  background: linear-gradient(180deg, #e9eff5 0%, #dfe8f0 100%);
  border-bottom: 1px solid #d7e0e8;
  padding: 28px 0 0;
}

.zzx-locations-hero__content{
  max-width: 820px;
  padding: 34px 0 52px;
}

.zzx-locations-hero h1{
  margin: 0;
  font-size: 50px;
  line-height: 1.08;
  font-weight: 700;
}

.zzx-locations-main{
  padding: 60px 0 90px;
}

.zzx-locations-intro{
  max-width: 960px;
  margin-bottom: 46px;
}

.zzx-locations-intro h2{
  margin: 0 0 18px;
  font-size: 34px;
  line-height: 1.2;
  color: #0f172a;
}

.zzx-locations-intro p{
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.95;
  color: #64748b;
}

.zzx-locations-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.zzx-location-card{
  border: 1px solid #dbe3eb;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}

.zzx-location-card__image{
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eef3f8;
}

.zzx-location-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.zzx-location-card__content{
  padding: 26px 24px 30px;
}

.zzx-location-card h3{
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.2;
  color: #0f172a;
}

.zzx-location-card__subtitle{
  font-size: 16px;
  font-weight: 700;
  color: #334155;
  margin-bottom: 18px;
}

.zzx-location-card__body p{
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.9;
  color: #64748b;
}

@media (max-width: 900px){
  .zzx-locations-grid{
    grid-template-columns: 1fr;
  }

  .zzx-locations-hero h1{
    font-size: 40px;
  }
}

@media (max-width: 767px){
  .zzx-locations-container{
    padding-left: 16px;
    padding-right: 16px;
  }

  .zzx-locations-hero h1{
    font-size: 32px;
  }

  .zzx-locations-intro h2{
    font-size: 26px;
  }

  .zzx-locations-intro p{
    font-size: 15px;
    line-height: 1.85;
  }

  .zzx-location-card__content{
    padding: 20px 18px 24px;
  }

  .zzx-location-card h3{
    font-size: 22px;
  }
}
/* =========================================================
   ZZX Global White Background Override
   Scoped to content areas only so header and archive heroes keep theme layout.
   ========================================================= */
html,
body,
body.custom-background,
#page,
.site,
.ast-site-container,
.site-content,
.site-primary-footer-wrap,
.ast-separate-container,
.ast-separate-container #primary,
.ast-separate-container #secondary,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .site-main,
.ast-separate-container .entry,
.ast-separate-container .entry-content,
.ast-page-builder-template .site-content,
.ast-page-builder-template .entry-content,
.wp-site-blocks {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

body.single-post,
body.blog,
body.archive,
body.category,
body.page,
body.search,
body.error404 {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

body.single-post .site-content > .ast-container,
body.page .site-content > .ast-container,
body.search .site-content > .ast-container,
body.error404 .site-content > .ast-container {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

body.blog .ast-archive-description,
body.archive .ast-archive-description,
body.blog .ast-archive-description .ast-container,
body.archive .ast-archive-description .ast-container,
body.blog .page-header,
body.archive .page-header,
body.blog .page-header .ast-container,
body.archive .page-header .ast-container,
.site-header .ast-container,
.ast-builder-grid-row {
  background: transparent !important;
  background-color: transparent !important;
}

/* =========================================================
   Part Number Detail Layout
   ========================================================= */
.single-part-number .site-content .ast-container {
  max-width: 1360px;
}

.zzx-pn-page {
  padding: 32px 0 72px;
  background: #ffffff;
}

.zzx-pn-shell {
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
}

.zzx-pn-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
  color: #6b7a90;
  font-size: 13px;
}

.zzx-pn-breadcrumbs a {
  color: #31537b;
  text-decoration: none;
}

.zzx-pn-breadcrumbs a:hover {
  color: #123564;
}

.zzx-pn-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(320px, 0.78fr);
  gap: 30px;
  align-items: start;
}

.zzx-pn-main-column,
.zzx-pn-main-lower,
.zzx-pn-visual-column,
.zzx-pn-info-column,
.zzx-pn-rfq-column {
  min-width: 0;
}

.zzx-pn-main-column {
  display: grid;
  gap: 20px;
}

.zzx-pn-main-lower {
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
  gap: 24px;
  align-items: start;
}

.zzx-pn-cert-band {
  width: 100%;
}

.zzx-pn-cert-card,
.zzx-pn-image-card,
.zzx-pn-section-card,
.zzx-pn-rfq-card,
.zzx-rel2-item {
  background: #ffffff;
  border: 1px solid #d9e1ea;
  border-radius: 18px;
}

.zzx-pn-cert-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 164px;
  padding: 24px 28px;
}

.zzx-pn-cert-card img {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  object-fit: contain;
}

.zzx-pn-image-card {
  padding: 18px;
}

.zzx-pn-image-frame {
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.zzx-pn-image-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.zzx-pn-image-fallback {
  padding: 24px;
  color: #6b7a90;
  font-size: 15px;
  text-align: center;
}

.zzx-pn-kicker {
  margin-bottom: 10px;
  color: #305889;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.zzx-pn-title {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  color: #0f172a;
  font-size: clamp(34px, 3.7vw, 54px);
  line-height: 1.04;
  letter-spacing: -0.045em;
  font-weight: 800;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

.zzx-pn-subline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 16px;
  color: #51657f;
  font-size: 15px;
  line-height: 1.6;
}

.zzx-pn-subline span {
  position: relative;
}

.zzx-pn-subline span:not(:last-child)::after {
  content: '\00B7';
  margin-left: 14px;
  color: #8ca0ba;
}

.zzx-pn-stock-card {
  margin-top: 22px;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid #c9d8ea;
  background: #f4f8fc;
}

.zzx-pn-stock-card.is-instock {
  border-color: #a9c4e7;
  background: #eef5fc;
}

.zzx-pn-stock-card.is-rfq {
  border-color: #d3dcea;
  background: #f7f9fc;
}

.zzx-pn-stock-label {
  margin-bottom: 6px;
  color: #305889;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.zzx-pn-stock-value {
  color: #123564;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.1;
  font-weight: 800;
}

.zzx-pn-meta-grid {
  display: grid;
  gap: 0;
  margin: 24px 0 0;
  border-top: 1px solid #e1e7ef;
}

.zzx-pn-meta-row {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #e1e7ef;
}

.zzx-pn-meta-row dt {
  color: #66788f;
  font-size: 14px;
  font-weight: 700;
}

.zzx-pn-meta-row dd {
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
}

.zzx-pn-meta-row dd a,
.zzx-pn-inline-link {
  color: #123564;
  text-decoration: none;
  font-weight: 700;
}

.zzx-pn-meta-row dd a:hover,
.zzx-pn-inline-link:hover {
  text-decoration: underline;
}

.zzx-pn-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.zzx-pn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.zzx-pn-btn--primary {
  background: #123564;
  color: #ffffff;
}

.zzx-pn-btn--secondary {
  border: 1px solid #c2cfdf;
  background: #ffffff;
  color: #123564;
}

.zzx-pn-summary-card {
  margin-top: 24px;
  padding: 22px 24px;
  border: 1px solid #d9e1ea;
  border-radius: 18px;
  background: #fbfcfe;
}

.zzx-pn-summary-card h2,
.zzx-pn-section-head h2,
.zzx-rel2-title {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
}

.zzx-pn-summary-card p,
.zzx-pn-richtext p,
.zzx-pn-datasheet-row p {
  margin: 0;
  color: #43556b;
  font-size: 15px;
  line-height: 1.85;
}

.zzx-pn-rfq-card {
  position: sticky;
  top: 94px;
  padding: 24px 22px;
  border: 3px solid #1a4f9d;
  box-shadow: 0 18px 34px rgba(12, 34, 72, 0.12);
  animation: zzxRfqAttention 820ms cubic-bezier(.2,.9,.3,1) 1;
  animation-delay: .16s;
  transform-origin: 50% 14%;
}

.zzx-pn-rfq-head h2 {
  margin: 0 0 8px;
  color: #123564;
  font-size: 20px;
  line-height: 1.2;
}

.zzx-pn-rfq-head p {
  margin: 0 0 16px;
  color: #52647b;
  font-size: 14px;
  line-height: 1.7;
}

@keyframes zzxRfqAttention {
  0% { opacity: 0; transform: translateY(8px) scale(0.992); }
  42% { opacity: 1; transform: translateY(0) scale(1); }
  62% { transform: translateX(-4px); }
  78% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

.zzx-pn-content-stack {
  display: grid;
  gap: 22px;
  margin-top: 28px;
}

.zzx-pn-section-card {
  padding: 24px;
}

.zzx-pn-section-head {
  margin-bottom: 16px;
}

.zzx-pn-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.zzx-pn-spec-item {
  padding: 16px 18px;
  border: 1px solid #e1e7ef;
  border-radius: 14px;
  background: #fbfcfe;
}

.zzx-pn-spec-item span {
  display: block;
  margin-bottom: 6px;
  color: #6a7c92;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.zzx-pn-spec-item strong,
.zzx-pn-spec-item strong a {
  color: #0f172a;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 700;
  text-decoration: none;
}

.zzx-pn-table {
  width: 100%;
  border-collapse: collapse;
}

.zzx-pn-table th,
.zzx-pn-table td {
  padding: 14px 16px;
  border: 1px solid #e1e7ef;
  text-align: left;
  vertical-align: top;
}

.zzx-pn-table thead th {
  background: #123564;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.zzx-pn-table tbody th {
  width: 260px;
  background: #f8fafc;
  color: #334155;
  font-size: 14px;
  font-weight: 700;
}

.zzx-pn-table tbody td {
  color: #0f172a;
  font-size: 14px;
  line-height: 1.7;
}

.zzx-pn-datasheet-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.zzx-rel2-group + .zzx-rel2-group {
  margin-top: 20px;
}

.zzx-rel2-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.zzx-rel2-head h3 {
  margin: 0;
  color: #123564;
  font-size: 16px;
}

.zzx-rel2-all {
  color: #31537b;
  font-size: 13px;
  text-decoration: none;
}

.zzx-rel2-list {
  display: grid;
  gap: 10px;
}

.zzx-rel2-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
}

.zzx-rel2-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.zzx-rel2-thumb {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  border: 1px solid #e8ebf0;
  border-radius: 12px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-decoration: none;
}

.zzx-rel2-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.zzx-rel2-left {
  min-width: 0;
  flex: 1;
}

.zzx-rel2-pn {
  color: #0f172a;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.zzx-rel2-pn a {
  color: inherit;
  text-decoration: none;
}

.zzx-rel2-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
  color: #66788f;
  font-size: 12px;
}

.zzx-rel2-rfq {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #bdc9d8;
  color: #123564;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.zzx-rel2-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.zzx-rel2-badge.in {
  background: #eaf4ff;
  color: #17406f;
}

.zzx-rel2-badge.out {
  background: #f1f5f9;
  color: #51657f;
}

@media (max-width: 1180px) {
  .zzx-pn-hero {
    grid-template-columns: 1fr;
  }

  .zzx-pn-rfq-card {
    position: static;
  }
}

@media (max-width: 980px) {
  .zzx-pn-main-lower {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .zzx-pn-cert-card {
    min-height: 136px;
    padding: 20px 22px;
  }

  .zzx-pn-title {
    font-size: clamp(30px, 6vw, 42px);
  }
}

@media (max-width: 860px) {
  .zzx-pn-shell {
    width: min(100% - 28px, 1320px);
  }

  .zzx-pn-meta-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .zzx-pn-spec-grid {
    grid-template-columns: 1fr;
  }

  .zzx-pn-table th,
  .zzx-pn-table td {
    padding: 12px 12px;
  }
}

@media (max-width: 640px) {
  .zzx-pn-page {
    padding: 24px 0 54px;
  }

  .zzx-pn-cert-card,
  .zzx-pn-image-card,
  .zzx-pn-section-card,
  .zzx-pn-rfq-card {
    border-radius: 16px;
  }

  .zzx-pn-rfq-card,
  .zzx-pn-section-card,
  .zzx-pn-summary-card {
    padding-left: 18px;
    padding-right: 18px;
  }

  .zzx-pn-cert-card {
    min-height: 120px;
    padding: 18px 16px;
  }

  .zzx-pn-subline span:not(:last-child)::after {
    margin-left: 10px;
  }

  .zzx-pn-datasheet-row,
  .zzx-rel2-item,
  .zzx-rel2-main {
    align-items: flex-start;
  }

  .zzx-rel2-item {
    flex-direction: column;
  }

  .zzx-rel2-right {
    width: 100%;
  }

  .zzx-rel2-rfq {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zzx-pn-rfq-card {
    animation: none;
  }
}


