/*
Theme Name: SmicChip
Theme URI: https://smicchip.com
Author: SmicChip
Description: B2B theme for electronic component distribution: shortage, EOL and excess inventory services, industry pages, quality lab, insights and a quote form with BOM upload. Services and Industries are editable post types; homepage copy lives in Appearance → Customize → VOLTARA.
Version: 1.1.2
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: voltara
*/

/* Styles live in assets/css/main.css and assets/css/pages.css */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.prose img,.prose figure{max-width:100%;height:auto;border-radius:16px}
.prose a{color:var(--signal-2);text-decoration:underline}
.pager{display:flex;gap:8px;justify-content:center;margin-top:50px}
.pager .page-numbers{min-width:44px;height:44px;padding:0 12px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);font-size:14px;background:var(--white)}
.pager .page-numbers.current,.pager a.page-numbers:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.free-content{max-width:900px}
.free-content p{color:var(--muted);margin-bottom:14px}
.q-err{color:#e5484d;font-size:13px;margin-top:10px;display:none}
.q-err.show{display:block}
.custom-logo-link img{max-height:40px;width:auto}
/* WordPress-template additions */
h3[class$="-h"],h2.aside-h,h2.toc-h{letter-spacing:inherit}
.mega .fi{width:40px;height:40px;flex:0 0 40px}
a.ind{cursor:pointer;color:inherit}
.ind .fi{width:46px;height:46px;transition:transform .4s var(--ease)}
.ind:hover .fi{transform:translateY(-4px)}
.ind:focus-visible,.way:focus-visible,.card:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.steps-wrap .fill{position:absolute;left:19px;top:54px;width:2px;background:var(--signal);transform-origin:top;transition:transform .6s var(--ease);z-index:1}
.steps-wrap .steps{position:relative}
button.way{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.way.on{border-color:var(--signal);box-shadow:0 0 0 3px rgba(31,224,143,.18)}
.ins-card .ph-img{aspect-ratio:16/10;border-radius:14px}
.chat-link{text-align:left;border:1px solid var(--line-2);background:var(--white);border-radius:12px;padding:11px 14px;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:.2s}
.chat-link:hover{border-color:var(--ink)}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl-scroll .fam{min-width:620px}
.aside .aside-h{font-size:18px}
.toc .toc-h{font-size:12px}
.index-empty{color:var(--muted)}
section[id],[id].sec,.prose h2{scroll-margin-top:150px}
.menu-open .nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--paper)}
@media (max-width:900px){.menu{bottom:0;top:76px;z-index:60}}
@media (max-width:900px){.menu>li:not(.open)>.mega{display:none}.menu>li.open>a .chev{transform:rotate(180deg)}}
#qform .req-msg,#qform[data-topic=callback] .req-pn,#qform[data-topic=quality] .req-pn{display:none}
#qform[data-topic=quality] .req-msg{display:inline}
.q-done h2.qd-h{font-size:26px}
/* brand */
.logo .mark{width:34px;height:34px;color:var(--signal)}
.logo .mark svg{width:26px;height:26px}
.logo{letter-spacing:-.01em;font-size:21px}
.logo .acc{color:var(--signal-2)}
.dark .logo .acc,.nav.dark .logo .acc{color:var(--signal)}
.ft-logo{display:inline-flex;align-items:center;gap:10px;letter-spacing:-.01em}
.ft-co{margin-top:12px;font-size:13px;color:var(--muted)}
.ft-contact a{display:inline-flex;align-items:center;gap:8px}
.ft-addr{font-size:13px;color:var(--muted);max-width:320px}
/* brand logos strip */
.logos{padding:22px 0}
.logos-t{gap:22px}
.brand-tile{display:block;background:#fff;border-radius:12px;padding:0;overflow:hidden;opacity:.9;transition:opacity .2s,transform .3s var(--ease)}
.brand-tile img{display:block;width:160px;height:64px;object-fit:contain}
.brand-tile:hover{opacity:1;transform:translateY(-2px)}
/* contact details + about */
.cdet{display:grid;gap:10px;margin-top:22px}
.cdet-r{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line-2);border-radius:14px;background:var(--white);color:inherit}
a.cdet-r:hover{border-color:var(--ink)}
.cdet-r .ico{font-size:20px;color:var(--signal-2);flex:0 0 auto;margin-top:2px}
.cdet-r small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.about-g{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start}
.about-g .prose p{font-size:17px;line-height:1.75;margin-bottom:18px;color:var(--ink)}
@media (max-width:900px){.about-g{grid-template-columns:1fr}.brand-tile img{width:128px;height:51px}}
.about-facts{background:var(--white);border-color:var(--line-2);backdrop-filter:none}
.about-facts li{color:var(--ink)}
/* quality-lab illustration: callouts and trace draw in per stage */
.scope .co{opacity:0;transform:translateY(4px);transition:opacity .4s,transform .4s}
.scope .view.on .co{opacity:1;transform:none;transition-delay:var(--d)}
.scope .trace{stroke-dasharray:1;stroke-dashoffset:1}
.scope .view.on .trace{stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--ease) .2s}
.scope .scan{opacity:.35}
@media (prefers-reduced-motion:reduce){.scope .co,.scope .trace{transition:none!important;opacity:1;stroke-dashoffset:0}}
/* offices: Pearl River Delta map */
.map.prd{background:#0b1222}
.map.prd .land{fill:url(#prd-dots);stroke:#2c3d63;stroke-width:1.2;stroke-linejoin:round}
.map.prd .border{fill:none;stroke:#5d6b85;stroke-width:1.2;stroke-dasharray:5 5}
.map.prd .geo text{font-family:var(--mono);font-size:11px;letter-spacing:.18em;fill:#4b5a7a}
.map.prd .geo text.note{font-size:10px;letter-spacing:.12em;fill:#3c4a6b}
.map.prd .pin-l{font-family:var(--mono);font-size:13px;letter-spacing:.12em;fill:#e9eefa;paint-order:stroke;stroke:#0b1222;stroke-width:4px}
.map.prd .pin.on .pin-l{fill:var(--amber)}
/* big scrolling words: readable solid type instead of a faint outline */
.ind-big .t{color:#dfe6f3;-webkit-text-stroke:0;align-items:center;gap:48px}
.ind-big .t span:nth-of-type(3n+2){color:var(--signal)}
.ind-big .t i{font-size:.28em;line-height:1;color:var(--signal);opacity:.85}
/* quality-page pillar numbers: same faint-outline issue */
.pillar .big{-webkit-text-stroke-color:#4b5a7a}
.map.prd .lanes text{font-family:var(--mono);font-size:12px;letter-spacing:.16em;fill:#1fe08f;opacity:.85}
.map.prd .arc{stroke-width:1.6}
/* offices: world map with global lanes and looping planes */
.map.world{background:#0b1222;min-height:0;aspect-ratio:1000/369}
.map.world .land{fill:url(#wm-dots);stroke:#2a3a60;stroke-width:.6;stroke-linejoin:round}
.map.world .geo text{font-family:var(--mono);font-size:9px;letter-spacing:.22em;fill:#3f4f75}
.map.world .arc{fill:none;stroke:url(#arcg);stroke-width:1.1;stroke-dasharray:3 4;animation:dash 30s linear infinite}
.map.world .dst{fill:#1fe08f;opacity:.75}
.map.world .plane path{fill:#e9eefa}
.map.world .hub-glow{fill:#1fe08f;opacity:.12}
.map.world .pin circle.p{fill:var(--signal)}
.map.world .pin-l{font-family:var(--mono);font-size:10px;letter-spacing:.14em;fill:#e9eefa;paint-order:stroke;stroke:#0b1222;stroke-width:3px}
.map.world .pin.on .pin-l{fill:var(--amber)}
@media (prefers-reduced-motion:reduce){.map.world .planes{display:none}.map.world .arc{animation:none}}
.map.world .cty{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;fill:#c9d3e6;paint-order:stroke;stroke:#0b1222;stroke-width:3px}
.map.world .geo text{fill:#5d6b85;font-size:10px}
/* world map on phones: readable size, swipe sideways, opens centred on Shenzhen / Hong Kong */
@media (max-width:700px){
	.map.world{aspect-ratio:auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.map.world::-webkit-scrollbar{display:none}
	.map.world svg{position:static;display:block;width:960px;height:auto;max-width:none}
	.map.world .cty{font-size:10px}
	.map.world .pin-l{font-size:11px}
	.map.world::after{content:attr(data-swipe);position:sticky;left:0;display:block;width:100%;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:#5d6b85;padding:6px 0 10px}
}
/* offices with the world map: map on its own row, office cards side by side below */
.loc.loc-world{grid-template-columns:minmax(0,1fr)}
.loc.loc-world .map.world{width:100%}
.loc.loc-world .offices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;align-items:stretch}
.loc.loc-world .offices>.link{grid-column:1/-1}
.loc.loc-world .office{min-width:0}
.office span{overflow-wrap:anywhere}
/* screen-reader text must never widen the page */
.screen-reader-text{white-space:nowrap;clip-path:inset(50%);margin:-1px;padding:0;border:0}
.tbl-scroll{position:relative}
/* component-family table → stacked cards on phones */
@media (max-width:700px){
	.tbl-scroll{overflow:visible}
	.tbl-scroll .fam{min-width:0;width:100%}
	.fam thead{display:none}
	.fam,.fam tbody{display:block}
	.fam tr{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:16px 0;border-bottom:1px solid var(--line-2)}
	.fam td{display:block;padding:0!important;border:0!important}
	.fam td:nth-child(1){grid-column:1;font-weight:600}
	.fam td:nth-child(2){grid-column:1/-1;grid-row:2}
	.fam td:nth-child(3){grid-column:2;grid-row:1;justify-self:end}
	.fam td:nth-child(4){grid-column:1/-1;grid-row:3;text-align:left!important}
}
.loc.loc-world .offices{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:700px){.loc.loc-world .offices{grid-template-columns:minmax(0,1fr)}}
/* core showcase: keep the slow zoom inside the image frame (it used to grow over the text column) */
.core-pane .ph-img{animation:none!important;transform:none!important;background-size:112%!important;animation:kb-pan 14s ease-in-out infinite alternate!important}
@keyframes kb-pan{from{background-position:40% 50%}to{background-position:60% 45%}}
@media (prefers-reduced-motion:reduce){.core-pane .ph-img{animation:none!important}}

/* language switcher (Polylang) */
.lang-sw{position:relative}
.lang-sw summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none}
.lang-sw summary::-webkit-details-marker{display:none}
.lang-sw summary .ico{width:14px;height:14px}
.lang-sw ul{position:absolute;right:0;top:calc(100% + 8px);z-index:80;list-style:none;margin:0;padding:6px;min-width:160px;background:var(--white);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 18px 40px rgba(10,15,28,.14)}
.lang-sw li a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);font-size:14px;white-space:nowrap}
.lang-sw li a:hover,.lang-sw li a[aria-current]{background:var(--paper);color:var(--signal-2)}
