/*
Theme Name: JIXHub Global Sourcing v1.5.17
Theme URI: https://jixhub.com/
Author: JIXHub
Description: Premium B2B showroom and global sourcing WordPress theme for JIXHub.
\g<1>1.5.19
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: jixhub
License: GPL-2.0-or-later
*/

:root {
  --jix-navy: #023e8a;
  --jix-cyan: #0096c7;
  --jix-ink: #071521;
  --jix-deep: #031827;
  --jix-paper: #f6f9fc;
  --jix-white: #ffffff;
  --jix-muted: #6b7b8d;
  --jix-line: #dce6ee;
  --jix-radius: 22px;
  --jix-shadow: 0 18px 55px rgba(4, 32, 55, .10);
  --jix-max: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--jix-ink);
  background: var(--jix-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body.admin-bar .site-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.container { width: min(var(--jix-max), calc(100% - 40px)); margin-inline: auto; }

/* Accessibility */
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: 16px; z-index: 9999; background: #fff; color: var(--jix-deep); padding: 10px 14px; transform: translateY(-150%); border-radius: 10px; box-shadow: var(--jix-shadow); }
.skip-link:focus { transform: translateY(0); }

/* Header */
.utility-bar {
  background: #06121f;
  color: rgba(255,255,255,.80);
  font-size: 12px;
  letter-spacing: .04em;
}
.utility-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:38px; }
.utility-right { display:flex; align-items:center; gap:18px; }
.utility-scope { color:rgba(255,255,255,.72); }
.language-switcher { position:relative; z-index:1002; }
.language-trigger { display:inline-flex; align-items:center; gap:7px; min-height:30px; padding:0 10px; color:#fff; background:rgba(5,26,43,.58); border:1px solid rgba(255,255,255,.18); border-radius:999px; cursor:pointer; font-size:12px; font-weight:650; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.language-trigger:hover, .language-trigger[aria-expanded="true"] { background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.28); }
.language-trigger:focus-visible { outline:2px solid #7be7ff; outline-offset:2px; }
.language-globe { width:15px; height:15px; display:inline-grid; place-items:center; color:#7be7ff; }
.language-globe svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; }
.language-chevron { font-size:11px; margin-left:1px; transition:transform .2s ease; }
.language-trigger[aria-expanded="true"] .language-chevron { transform:rotate(180deg); }
.language-menu { position:absolute; right:0; top:calc(100% + 8px); width:178px; padding:7px; background:#fff; border:1px solid #dce6ee; border-radius:16px; box-shadow:0 20px 45px rgba(4,32,55,.18); opacity:0; visibility:hidden; transform:translateY(-5px) scale(.98); transform-origin:top right; transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.language-switcher.is-open .language-menu { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.language-menu button, .language-menu a { width:100%; display:flex; align-items:center; gap:9px; border:0; background:transparent; color:#10202f; text-align:left; padding:9px 11px; border-radius:10px; cursor:pointer; font-size:13px; font-weight:600; }
.language-code { width:22px; font-size:9px; font-weight:800; color:#6c7a88; letter-spacing:.03em; }
.language-menu button:hover, .language-menu button:focus-visible, .language-menu a:hover, .language-menu a:focus-visible { background:#edf8fc; color:var(--jix-navy); outline:none; }
.language-menu button.is-active, .language-menu a.is-active { background:#e8f7fb; color:var(--jix-navy); }
.utility-strong { color: #fff; font-weight: 700; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(3, 24, 39, .92);
  backdrop-filter: blur(18px) saturate(120%);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.header-inner { min-height: 92px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; min-width: 180px; }
.brand img { display:block; width:auto; height:68px; object-fit:contain; filter: drop-shadow(0 8px 20px rgba(0,150,199,.15)); }
.brand-text { display:none; color:#fff; font-weight:800; font-size: 24px; letter-spacing:-.04em; }
.main-nav { display:flex; align-items:center; gap:28px; }
.main-nav ul { display:flex; align-items:center; list-style:none; margin:0; padding:0; gap:26px; }
.main-nav a { color:rgba(255,255,255,.82); font-size:14px; font-weight:600; transition: color .2s ease; }
.main-nav a:hover, .main-nav .current-menu-item > a { color:#fff; }
.header-actions { display:flex; align-items:center; gap:10px; }
.mobile-toggle { display:none; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06); color:#fff; border-radius:12px; width:44px; height:44px; cursor:pointer; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:0 19px; border-radius:14px; border:1px solid transparent; font-weight:750; font-size:14px; letter-spacing:-.01em; transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease; cursor:pointer; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color:#fff; background: linear-gradient(135deg, var(--jix-cyan), var(--jix-navy)); box-shadow:0 12px 28px rgba(0,150,199,.20); }
.btn-primary:hover { box-shadow:0 18px 38px rgba(0,150,199,.28); }
.btn-light { color:var(--jix-deep); background:#fff; border-color:#fff; }
.btn-outline { color:#fff; background:transparent; border-color:rgba(255,255,255,.22); }
.btn-outline-dark { color:var(--jix-deep); background:#fff; border-color:var(--jix-line); }
.btn-ghost { color:var(--jix-navy); background:rgba(2,62,138,.06); border-color:rgba(2,62,138,.10); }
.btn-small { min-height:42px; padding-inline:15px; }

/* Hero */
.hero { position:relative; overflow:hidden; background: radial-gradient(circle at 80% 16%, rgba(0,150,199,.34), transparent 28%), radial-gradient(circle at 25% 110%, rgba(2,62,138,.50), transparent 38%), linear-gradient(135deg, #02131f 0%, #03243a 55%, #032f50 100%); color:#fff; }
.hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(90deg,#000,transparent 82%); }
.hero::after { content:""; position:absolute; width:520px; height:520px; border-radius:50%; border:1px solid rgba(0,150,199,.17); right:-160px; top:-180px; box-shadow:0 0 0 46px rgba(0,150,199,.04), 0 0 0 92px rgba(0,150,199,.02); }
.hero-inner { position:relative; z-index:1; min-height:710px; display:grid; grid-template-columns: 1.06fr .94fr; align-items:center; gap:64px; padding:90px 0 100px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; padding:7px 11px; border-radius:999px; color:#d7f8ff; background:rgba(0,150,199,.10); border:1px solid rgba(0,150,199,.28); text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:11px; }
.eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--jix-cyan); box-shadow:0 0 0 6px rgba(0,150,199,.12); }
.hero h1 { margin:20px 0 18px; font-size: clamp(44px, 6vw, 78px); line-height:.98; letter-spacing:-.055em; max-width: 720px; }
.hero p { margin:0; max-width:650px; color:rgba(255,255,255,.76); font-size:18px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero-meta span { border-left:1px solid rgba(255,255,255,.18); padding-left:12px; color:rgba(255,255,255,.62); font-size:13px; }
.hero-meta span:first-child { border-left:none; padding-left:0; }
.hero-visual { position:relative; min-height:560px; display:grid; place-items:center; }
.orbit { position:relative; width:min(520px, 86vw); aspect-ratio:1; }
.orbit::before, .orbit::after { content:""; position:absolute; inset:8%; border-radius:50%; border:1px solid rgba(0,150,199,.20); }
.orbit::after { inset:18%; border-color:rgba(255,255,255,.08); }
.orbit-ring { position:absolute; inset:3%; border-radius:50%; border:1px dashed rgba(255,255,255,.16); animation:spin 26s linear infinite; }
.orbit-core { position:absolute; inset:23%; border-radius:28%; background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(0,150,199,.10)); border:1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 30px 90px rgba(0,0,0,.32); display:grid; place-items:center; overflow:hidden; }
.orbit-core::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 30% 18%, rgba(0,150,199,.28), transparent 34%), radial-gradient(circle at 75% 80%, rgba(2,62,138,.30), transparent 36%); }
.orbit-logo { position:relative; z-index:1; width:74%; filter: drop-shadow(0 18px 30px rgba(0,0,0,.35)); }
.float-card { position:absolute; z-index:3; display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:17px; color:#fff; background:rgba(3,24,39,.76); border:1px solid rgba(255,255,255,.12); backdrop-filter: blur(18px); box-shadow:0 18px 46px rgba(0,0,0,.28); min-width:160px; }
.float-card svg { width:23px; height:23px; color:#78e9ff; flex:0 0 auto; }
.float-card strong { display:block; font-size:13px; }
.float-card small { display:block; color:rgba(255,255,255,.55); font-size:11px; margin-top:2px; }
.float-a { left:0; top:12%; animation:floatA 6.4s ease-in-out infinite; }
.float-b { right:0; top:45%; animation:floatB 7s ease-in-out infinite; }
.float-c { left:18%; bottom:2%; animation:floatA 7.8s ease-in-out infinite reverse; }

/* Ticker */
.ticker { background:linear-gradient(90deg,var(--jix-navy),var(--jix-cyan)); color:#fff; overflow:hidden; }
.ticker-track { display:flex; gap:34px; white-space:nowrap; padding:13px 0; font-size:12px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; animation:marquee 24s linear infinite; width:max-content; }
.ticker-dot { opacity:.45; }

/* Sections */
.section { padding:104px 0; }
.section-soft { background:var(--jix-paper); }
.section-dark { background:#061421; color:#fff; }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:26px; margin-bottom:36px; }
.section-kicker { color:var(--jix-cyan); text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:11px; }
.section h2 { margin:8px 0 0; font-size:clamp(32px,4vw,54px); line-height:1.05; letter-spacing:-.045em; }
.section-intro { max-width:590px; color:var(--jix-muted); }
.section-dark .section-intro { color:rgba(255,255,255,.65); }

/* Categories */
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.category-card { position:relative; min-height:250px; overflow:hidden; border-radius:22px; padding:26px; background:#fff; border:1px solid var(--jix-line); box-shadow:0 10px 30px rgba(4,32,55,.05); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.category-card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(4,32,55,.10); border-color:rgba(0,150,199,.28); }
.category-glow { position:absolute; width:180px; height:180px; right:-80px; top:-60px; border-radius:50%; background:radial-gradient(circle, rgba(0,150,199,.14), transparent 68%); }
.icon-box { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--jix-navy),var(--jix-cyan)); box-shadow:0 12px 25px rgba(0,150,199,.22); }
.icon-box svg { width:25px; height:25px; }
.category-card h3 { margin:26px 0 6px; font-size:20px; letter-spacing:-.02em; }
.category-card p { margin:0; color:var(--jix-muted); font-size:14px; max-width:320px; }
.category-link { display:inline-flex; align-items:center; gap:8px; margin-top:18px; color:var(--jix-navy); font-weight:750; font-size:13px; }
.category-link svg { transition:transform .2s ease; }
.category-card:hover .category-link svg { transform:translateX(4px); }

/* Showcase */
.showcase { display:grid; grid-template-columns: .72fr 1.28fr; gap:18px; }
.showcase-main { position:relative; overflow:hidden; min-height:470px; border-radius:28px; padding:32px; background:linear-gradient(145deg,#061926,#073b5c 55%,#0096c7); }
.showcase-main::after { content:""; position:absolute; width:380px; height:380px; border-radius:50%; right:-160px; top:-160px; border:1px solid rgba(255,255,255,.14); box-shadow:0 0 0 42px rgba(255,255,255,.03),0 0 0 84px rgba(255,255,255,.02); }
.showcase-main h3 { position:relative; z-index:1; margin:0; max-width:340px; color:#fff; font-size:34px; line-height:1.05; letter-spacing:-.04em; }
.showcase-main p { position:relative; z-index:1; color:rgba(255,255,255,.74); max-width:390px; margin:16px 0 24px; }
.showcase-main .mini-list { position:relative; z-index:1; display:grid; gap:9px; }
.mini-list span { display:flex; align-items:center; gap:9px; color:rgba(255,255,255,.86); font-size:13px; }
.mini-list i { width:8px; height:8px; border-radius:50%; background:#8cecff; box-shadow:0 0 0 5px rgba(140,236,255,.10); }
.showcase-art { position:absolute; left:20px; right:20px; bottom:0; height:220px; display:grid; place-items:center; }
.showcase-wheel { width:190px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at center, #dfeaf2 0 9%, #7f93a3 10% 14%, #18242e 15% 20%, #0a1218 21% 62%, #263746 63% 68%, #dfeaf2 69% 71%, #111a22 72% 100%); box-shadow:0 28px 65px rgba(0,0,0,.35); transform:rotate(-14deg); animation:wheelFloat 5.8s ease-in-out infinite; }
.showcase-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.showcase-card { min-height:226px; padding:24px; border:1px solid var(--jix-line); border-radius:22px; background:#fff; box-shadow:0 10px 32px rgba(4,32,55,.05); display:flex; flex-direction:column; justify-content:space-between; transition:transform .25s ease, border-color .25s ease; }
.showcase-card:hover { transform:translateY(-4px); border-color:rgba(0,150,199,.28); }
.showcase-card .tag { color:var(--jix-cyan); font-size:11px; text-transform:uppercase; font-weight:800; letter-spacing:.12em; }
.showcase-card h4 { margin:12px 0 7px; font-size:20px; }
.showcase-card p { color:var(--jix-muted); font-size:13px; margin:0; }
.showcase-card .card-icon { align-self:flex-end; width:74px; height:74px; border-radius:20px; background:linear-gradient(145deg,#f2f8fc,#e6f6fb); display:grid; place-items:center; color:var(--jix-navy); }
.showcase-card .card-icon svg { width:42px; height:42px; }

/* Process */
.process { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.process::before { content:""; position:absolute; top:37px; left:7%; right:7%; height:1px; background:linear-gradient(90deg, transparent, rgba(0,150,199,.45), transparent); }
.process-step { position:relative; z-index:1; padding:18px; }
.step-number { width:72px; height:72px; margin-bottom:20px; border-radius:22px; display:grid; place-items:center; background:#fff; color:var(--jix-navy); font-weight:900; font-size:18px; box-shadow:0 14px 28px rgba(0,0,0,.20); border:1px solid rgba(255,255,255,.18); }
.process-step h3 { margin:0 0 8px; font-size:20px; }
.process-step p { margin:0; color:rgba(255,255,255,.64); font-size:14px; }

/* Capability split */
.split { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:stretch; }
.panel { border:1px solid var(--jix-line); background:#fff; border-radius:28px; padding:34px; box-shadow:0 12px 35px rgba(4,32,55,.05); }
.panel-dark { background:linear-gradient(160deg,#041622,#063e61); border-color:rgba(255,255,255,.08); color:#fff; }
.panel h3 { font-size:28px; margin:10px 0 12px; letter-spacing:-.035em; }
.panel p { color:var(--jix-muted); margin:0 0 22px; }
.panel-dark p { color:rgba(255,255,255,.65); }
.cap-list { display:grid; gap:10px; }
.cap-list span { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 14px; border-radius:15px; background:#f6f9fc; border:1px solid #e5edf4; color:#254053; font-size:13px; font-weight:650; }
.cap-list span::after { content:"↗"; color:var(--jix-cyan); }
.panel-dark .cap-list span { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.08); color:rgba(255,255,255,.88); }

/* Trust band */
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.trust-card { padding:24px; border:1px solid var(--jix-line); border-radius:20px; background:#fff; }
.trust-card strong { display:block; font-size:18px; letter-spacing:-.02em; }
.trust-card span { color:var(--jix-muted); font-size:13px; }
.trust-card b { display:inline-flex; width:34px; height:34px; border-radius:11px; align-items:center; justify-content:center; background:rgba(0,150,199,.10); color:var(--jix-navy); margin-bottom:16px; }

/* CTA */
.cta { position:relative; overflow:hidden; }
.cta-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:40px; border-radius:30px; background:linear-gradient(135deg,var(--jix-navy),var(--jix-cyan)); color:#fff; box-shadow:0 28px 70px rgba(0,150,199,.20); }
.cta-inner::before { content:""; position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size:30px 30px; mask-image:linear-gradient(90deg,#000,transparent 75%); }
.cta-copy { position:relative; max-width:700px; }
.cta-copy .section-kicker { color:#cff7ff; }
.cta-copy h2 { margin:8px 0 8px; font-size:clamp(28px,4vw,46px); letter-spacing:-.045em; line-height:1.04; }
.cta-copy p { margin:0; color:rgba(255,255,255,.78); }
.cta-actions { position:relative; display:flex; gap:10px; flex-wrap:wrap; }

/* Footer */
.site-footer { background:#03111d; color:#fff; padding:70px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.3fr .8fr .8fr .8fr; gap:40px; }
.footer-brand { max-width:380px; }
.footer-brand img { width:230px; height:auto; }
.footer-brand p { color:rgba(255,255,255,.58); margin:20px 0 0; font-size:14px; }
.footer-title { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.42); font-weight:800; margin-bottom:16px; }
.footer-list { display:grid; gap:8px; }
.footer-list a, .footer-list span { color:rgba(255,255,255,.72); font-size:13px; }
.footer-list a:hover { color:#fff; }
.footer-bottom { margin-top:48px; padding-top:20px; border-top:1px solid rgba(255,255,255,.09); display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.42); font-size:12px; }

/* Inner pages */
.page-hero { background:linear-gradient(135deg,#031521,#073f5e); color:#fff; padding:90px 0; }
.page-hero h1 { margin:12px 0 10px; font-size:clamp(40px,6vw,68px); letter-spacing:-.05em; line-height:1; }
.page-hero p { margin:0; color:rgba(255,255,255,.68); max-width:720px; }
.breadcrumbs { color:rgba(255,255,255,.45); font-size:12px; }
.content-page { padding:86px 0; }
.content-page .prose { max-width:820px; }
.content-page h2 { font-size:35px; letter-spacing:-.04em; margin-top:42px; }
.content-page h3 { font-size:25px; letter-spacing:-.03em; margin-top:32px; }
.content-page p, .content-page li { color:#526579; }
.content-page ul { padding-left:20px; }

/* Catalog */
.catalog-toolbar { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:30px; }
.filter-pill { border:1px solid var(--jix-line); background:#fff; color:#385066; border-radius:999px; padding:9px 14px; font-size:13px; cursor:pointer; }
.filter-pill.is-active, .filter-pill:hover { border-color:rgba(0,150,199,.28); color:var(--jix-navy); background:rgba(0,150,199,.06); }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.product-card { overflow:hidden; border:1px solid var(--jix-line); border-radius:22px; background:#fff; box-shadow:0 12px 32px rgba(4,32,55,.05); }
.product-media { min-height:210px; background:linear-gradient(145deg,#f5f9fc,#e7f6fb); display:grid; place-items:center; position:relative; overflow:hidden; }
.product-media img { width:100%; height:100%; object-fit:cover; aspect-ratio:1.2; }
.product-fallback { width:108px; height:108px; border-radius:32px; display:grid; place-items:center; background:linear-gradient(145deg,#fff,#d9f4fb); color:var(--jix-navy); box-shadow:0 22px 38px rgba(0,100,140,.14); }
.product-fallback svg { width:58px; height:58px; }
.product-body { padding:21px; }
.product-cat { color:var(--jix-cyan); font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.product-card h3 { margin:7px 0 7px; font-size:20px; }
.product-card p { margin:0; color:var(--jix-muted); font-size:13px; }
.product-actions { margin-top:16px; display:flex; gap:8px; }
.no-products { padding:55px 24px; border:1px dashed #cddbe5; border-radius:24px; text-align:center; color:var(--jix-muted); background:#fbfdff; }


/* v1.4.3 showroom mosaic — art-directed category showcase */
.showroom-mosaic { margin-top: 26px; }
.showroom-mosaic-frame {
  position:relative; overflow:hidden; border-radius:28px; border:0 !important; outline:0;
  background:#061a2a; box-shadow:0 28px 70px rgba(4,32,55,.13); isolation:isolate;
}
.showroom-mosaic-frame picture, .showroom-mosaic-image { display:block; width:100%; }
.showroom-mosaic-image { height:auto; aspect-ratio:1672/941; object-fit:cover; transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.showroom-mosaic-frame:hover .showroom-mosaic-image { transform:scale(1.012); filter:saturate(1.04) contrast(1.01); }
.showroom-mosaic-shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,20,38,.02), rgba(0,20,38,.04) 70%, rgba(0,25,45,.20)); pointer-events:none; z-index:1; }
.showroom-mosaic-hotspots { position:absolute; inset:0; z-index:2; }
.mosaic-hotspot { position:absolute; display:block; border-radius:22px; outline:none; }
.mosaic-hotspot::after { content:""; position:absolute; inset:0; border:1px solid transparent; border-radius:22px; transition:border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.mosaic-hotspot:hover::after, .mosaic-hotspot:focus-visible::after { border-color:rgba(0,150,199,.85); background:rgba(0,150,199,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 0 36px rgba(0,150,199,.18); }
.mosaic-hotspot-label { position:absolute; right:18px; bottom:16px; min-width:170px; padding:10px 12px; border-radius:14px; background:rgba(1,15,28,.82); color:#fff; border:1px solid rgba(130,225,255,.18); box-shadow:0 14px 30px rgba(0,0,0,.22); backdrop-filter:blur(10px); opacity:0; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease; pointer-events:none; }
.mosaic-hotspot:hover .mosaic-hotspot-label, .mosaic-hotspot:focus-visible .mosaic-hotspot-label { opacity:1; transform:none; }
.mosaic-hotspot-label strong { display:block; font-size:12px; letter-spacing:.01em; }
.mosaic-hotspot-label span { display:block; margin-top:3px; font-size:10px; color:#99dff1; }
.mosaic-brakes { left:.4%; top:.3%; width:31.6%; height:46.6%; }
.mosaic-wheels { left:33.2%; top:.3%; width:33.7%; height:46.6%; }
.mosaic-oils { left:66.1%; top:.3%; width:33.5%; height:46.6%; }
.mosaic-tools { left:.4%; top:50.2%; width:31.6%; height:48.5%; }
.mosaic-engine { left:33.2%; top:50.2%; width:33.7%; height:48.5%; }
.mosaic-other { left:66.1%; top:50.2%; width:33.5%; height:48.5%; }
.showroom-mosaic-cta { margin-top:12px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 4px 0; color:var(--jix-muted); font-size:11px; }
.showroom-mosaic-cta a { color:var(--jix-navy); font-weight:800; text-decoration:none; white-space:nowrap; padding:9px 12px; border-radius:11px; background:linear-gradient(135deg,#eefaff,#e6f6ff); border:1px solid rgba(0,150,199,.18); box-shadow:0 8px 20px rgba(0,150,199,.10); transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.showroom-mosaic-cta a:hover { transform:translateY(-1px); border-color:rgba(0,150,199,.34); box-shadow:0 12px 24px rgba(0,150,199,.14); }
@media (max-width:740px) {
  .showroom-mosaic { margin-top:18px; }
  .showroom-mosaic-frame { border-radius:20px; }
  .showroom-mosaic-image { aspect-ratio:1672/941; object-fit:cover; min-height:420px; }
  .mosaic-hotspot-label { display:none; }
  .mosaic-hotspot:hover::after, .mosaic-hotspot:focus-visible::after { background:rgba(0,150,199,.08); }
  .showroom-mosaic-cta { align-items:flex-start; padding-top:10px; font-size:10px; }
  .showroom-mosaic-cta span { max-width:65%; line-height:1.45; }
}

/* Contact */
.contact-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:22px; }
.contact-cards { display:grid; gap:12px; }
.contact-card { display:flex; gap:15px; align-items:flex-start; padding:19px; border:1px solid var(--jix-line); border-radius:18px; background:#fff; }
.contact-card .c-icon { flex:0 0 auto; width:44px; height:44px; border-radius:13px; display:grid; place-items:center; background:rgba(0,150,199,.09); color:var(--jix-navy); }
.contact-card strong { display:block; font-size:13px; }
.contact-card span, .contact-card a { display:block; margin-top:2px; color:var(--jix-muted); font-size:13px; }
.form-card { border:1px solid var(--jix-line); border-radius:26px; background:#fff; padding:30px; box-shadow:var(--jix-shadow); }
.field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.field { display:grid; gap:7px; margin-bottom:14px; }
.field.full { grid-column:1/-1; }
.field label { font-size:12px; font-weight:800; color:#29445a; }
.field input, .field textarea { width:100%; border:1px solid #cfdae3; border-radius:13px; background:#fbfdff; color:var(--jix-ink); padding:12px 13px; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.field textarea { min-height:160px; resize:vertical; }
.field input:focus, .field textarea:focus { border-color:rgba(0,150,199,.70); box-shadow:0 0 0 4px rgba(0,150,199,.10); }
.form-note { color:var(--jix-muted); font-size:12px; margin:11px 0 0; }
.notice { padding:14px 16px; border-radius:14px; margin-bottom:18px; font-size:13px; }
.notice-success { background:#e9f8ef; color:#14643b; border:1px solid #bce8cc; }
.notice-error { background:#fff0f0; color:#7d2020; border:1px solid #f0c1c1; }

/* Reveal animation */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.08s; }
.delay-2 { transition-delay:.16s; }
.delay-3 { transition-delay:.24s; }
.delay-4 { transition-delay:.32s; }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes floatA { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes floatB { 0%,100%{transform:translateY(0)} 50%{transform:translateY(12px)} }
@keyframes wheelFloat { 0%,100%{transform:translateY(0) rotate(-14deg)} 50%{transform:translateY(-8px) rotate(-10deg)} }
@keyframes marquee { to { transform:translateX(-50%); } }

/* Responsive */
@media (max-width: 1000px) {
  .utility-scope { display:none; }
  .utility-right { margin-left:auto; }
  .main-nav { position:absolute; left:20px; right:20px; top:84px; padding:16px; background:#031827; border:1px solid rgba(255,255,255,.10); border-radius:18px; display:none; box-shadow:0 28px 70px rgba(0,0,0,.25); }
  .main-nav.is-open { display:block; }
  .main-nav ul { flex-direction:column; align-items:flex-start; gap:13px; }
  .main-nav li { width:100%; }
  .main-nav a { display:block; padding:7px 5px; }
  .mobile-toggle { display:grid; place-items:center; }
  .hero-inner { grid-template-columns:1fr; min-height:auto; padding:78px 0 84px; }
  .hero-visual { min-height:460px; }
  .showcase { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .process { grid-template-columns:repeat(2,1fr); }
  .process::before { display:none; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; }
}
@media (max-width: 740px) {
  body { font-size:15px; }
  body.admin-bar .site-header { top:46px; }
  .container { width:min(var(--jix-max), calc(100% - 28px)); }
  .utility-inner { min-height:34px; justify-content:flex-end; text-align:right; }
  .utility-inner > span:first-child { display:none; }
  .utility-right { margin-left:0; }
  .language-menu { right:0; width:184px; }
  .header-inner { min-height:74px; }
  .brand img { height:43px; }
  .header-actions .btn { display:none; }
  .hero h1 { font-size:clamp(42px,13vw,62px); }
  .hero p { font-size:16px; }
  .hero-visual { min-height:360px; }
  .orbit { width:330px; }
  .float-card { min-width:138px; padding:10px 11px; }
  .float-card strong { font-size:11px; }
  .float-card small { font-size:9px; }
  .float-a { left:-2px; top:8%; }
  .float-b { right:-2px; top:43%; }
  .float-c { left:4%; bottom:2%; }
  .section { padding:76px 0; }
  .section-head { display:block; }
  .category-grid, .product-grid { grid-template-columns:1fr; }
  .showcase-grid { grid-template-columns:1fr; }
  .showcase-main { min-height:420px; }
  .split { grid-template-columns:1fr; }
  .trust-grid, .process { grid-template-columns:1fr; }
  .cta-inner { padding:28px; display:block; }
  .cta-actions { margin-top:20px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { display:block; }
  .footer-bottom span { display:block; margin-bottom:8px; }
  .field-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* v1.3 contact and language polish */
.contact-cards { display:grid; gap:12px; margin-top:22px; }
.contact-card { display:flex; align-items:flex-start; gap:14px; padding:17px 18px; border:1px solid var(--jix-line); border-radius:17px; background:#fff; box-shadow:0 8px 22px rgba(4,32,55,.04); }
.contact-card .c-icon { flex:0 0 auto; width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:#f2f8fc; color:var(--jix-navy); font-weight:900; font-size:15px; }
.contact-card strong { display:block; color:var(--jix-deep); font-size:15px; margin-bottom:3px; }
.contact-card span, .contact-card a { display:block; color:var(--jix-muted); font-size:13px; line-height:1.45; }
.contact-card a:hover { color:var(--jix-cyan); }
.contact-icon-wechat { font-size:22px !important; }
.contact-icon-instagram { font-size:24px !important; }
.language-menu button { min-height:38px; }
.lang-zh body, body.lang-zh { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif; }
@media (max-width:740px){ .utility-scope{display:none;} .utility-right{width:100%;justify-content:flex-end;} .language-menu{right:-2px;} }

/* v1.3 contact layout matching the provided reference */
.contact-details-panel h2 { margin-bottom:28px; }
.contact-detail-groups { display:grid; gap:28px; }
.contact-detail-group { padding-bottom:24px; border-bottom:1px solid var(--jix-line); }
.contact-detail-group:last-child { padding-bottom:0; border-bottom:0; }
.contact-detail-group h3 { margin:0 0 18px; font-size:26px; letter-spacing:-.035em; }
.contact-simple-row { display:flex; align-items:flex-start; gap:16px; }
.contact-simple-row .c-icon { flex:0 0 auto; width:48px; height:48px; display:grid; place-items:center; color:#17212b; background:transparent; }
.contact-simple-row .c-icon svg { width:34px; height:34px; }
.contact-simple-row strong { display:block; margin-top:2px; color:var(--jix-deep); font-size:18px; line-height:1.35; }
.contact-simple-row strong a { color:inherit; }
.contact-simple-row strong a:hover { color:var(--jix-cyan); }
.contact-simple-row small { display:block; margin-top:4px; color:#81909d; font-size:14px; }
.contact-simple-row .secondary-email { margin-top:10px; }
@media (max-width:740px){ .contact-detail-group h3{font-size:23px;} .contact-simple-row strong{font-size:16px;} }


/* v1.3.1: respect the WordPress Site Identity custom logo */
.site-header .brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  max-width: 250px;
}
.site-header .brand .jixhub-custom-logo,
.site-header .brand .jixhub-default-logo {
  display: block;
  width: min(230px, 100%);
  height: auto;
  max-height: 82px;
  object-fit: contain;
  object-position: left center;
}
.site-header .brand .jixhub-custom-logo {
  background: transparent !important;
}
@media (max-width: 820px) {
  .site-header .brand { max-width: 190px; }
  .site-header .brand .jixhub-custom-logo,
  .site-header .brand .jixhub-default-logo { width: 185px; max-height: 68px; }
}


/* Visual product showroom */
.showroom-visuals { background:linear-gradient(180deg,#fff 0%,#f7fbfe 100%); border-top:0 !important; }
.showroom-products-section { padding-top:72px; padding-bottom:30px; }
.showroom-visual-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.showroom-home-grid { grid-template-columns:repeat(3,1fr); }
.showroom-card { overflow:hidden; border:1px solid var(--jix-line); border-radius:22px; background:#fff; box-shadow:0 14px 36px rgba(4,32,55,.06); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.showroom-card:hover { transform:translateY(-6px); border-color:rgba(0,150,199,.28); box-shadow:0 24px 55px rgba(4,32,55,.12); }
.showroom-media { display:block; position:relative; aspect-ratio:4 / 3; overflow:hidden; background:linear-gradient(145deg,#edf7fb,#dfeaf3); }
.showroom-media::after { content:""; position:absolute; inset:auto 0 0 0; height:35%; background:linear-gradient(180deg,transparent,rgba(3,24,39,.35)); pointer-events:none; }
.showroom-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.showroom-card:hover .showroom-media img { transform:scale(1.045); filter:saturate(1.04) contrast(1.02); }
.showroom-badge { position:absolute; left:12px; bottom:12px; z-index:2; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(3,24,39,.80); border:1px solid rgba(255,255,255,.16); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(10px); }
.showroom-hover { position:absolute; inset:0; z-index:3; display:grid; place-items:center; opacity:0; background:linear-gradient(180deg,rgba(2,62,138,.06),rgba(0,150,199,.28)); transition:opacity .25s ease; pointer-events:none; }
.showroom-hover span { transform:translateY(10px); padding:10px 14px; border-radius:999px; background:#fff; color:var(--jix-navy); font-weight:800; font-size:12px; box-shadow:0 14px 35px rgba(3,24,39,.18); transition:transform .25s ease; }
.showroom-card:hover .showroom-hover { opacity:1; }
.showroom-card:hover .showroom-hover span { transform:translateY(0); }
.showroom-body { padding:16px 17px 18px; }
.showroom-body strong { display:block; font-size:15px; letter-spacing:-.02em; }
.showroom-body p { margin:6px 0 0; color:var(--jix-muted); font-size:12px; line-height:1.55; }
.showroom-underbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:22px; padding:18px 20px; border-radius:18px; color:#284355; background:#fff; border:1px solid var(--jix-line); box-shadow:0 12px 28px rgba(4,32,55,.04); }
.showroom-underbar span { font-size:12px; font-weight:650; }
.showroom-underbar-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.whatsapp-mini { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; color:#fff; background:#25D366; border:1px solid #25D366; box-shadow:0 8px 18px rgba(37,211,102,.18); transition:transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.whatsapp-mini:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(37,211,102,.26); filter:saturate(1.05); }
.whatsapp-mini:focus-visible { outline:3px solid rgba(0,150,199,.35); outline-offset:3px; }
.whatsapp-mini svg { width:20px; height:20px; fill:currentColor; }
.gallery-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.showroom-full-grid { grid-template-columns:repeat(3,1fr); }
.gallery-hidden { display:none !important; }
.field-help { display:block; margin-top:7px; color:var(--jix-muted); font-size:12px; }

@media (max-width: 1100px){
  .showroom-visual-grid { grid-template-columns:repeat(3,1fr); }
  .showroom-full-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 760px){
  .showroom-visual-grid,.showroom-full-grid { grid-template-columns:repeat(2,1fr); }
  .showroom-underbar { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px){
  .showroom-visual-grid,.showroom-full-grid { grid-template-columns:1fr; }
  .showroom-media { aspect-ratio:1.15; }
}

@media (max-width: 760px){
  .header-inner { min-height:76px; }
  .brand img { height:54px; max-width:190px; }
}



/* v1.5.17 — icon-only WhatsApp action in the main sourcing CTA */
.whatsapp-cta-icon {
  position:relative;
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:#25D366;
  border:1px solid #25D366;
  box-shadow:0 10px 24px rgba(37,211,102,.22);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.whatsapp-cta-icon:hover {
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 30px rgba(37,211,102,.28);
  filter:saturate(1.06);
}
.whatsapp-cta-icon:focus-visible {
  outline:3px solid rgba(255,255,255,.75);
  outline-offset:3px;
}
.whatsapp-cta-icon svg {
  width:22px;
  height:22px;
  fill:currentColor;
}
@media (max-width:560px){
  .whatsapp-cta-icon { width:44px; height:44px; flex-basis:44px; }
}

/* v1.5.16 — prominent WhatsApp contact in hero + subtle site-wide floating shortcut */
.btn-whatsapp {
  color:#fff;
  background:#25D366;
  border-color:#25D366;
  box-shadow:0 12px 28px rgba(37,211,102,.18);
}
.btn-whatsapp:hover { box-shadow:0 18px 38px rgba(37,211,102,.25); }
.btn-whatsapp svg { width:18px; height:18px; fill:currentColor; flex:0 0 auto; }
.whatsapp-float {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999;
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:#25D366;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 14px 32px rgba(0,0,0,.18), 0 6px 18px rgba(37,211,102,.22);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.whatsapp-float:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 18px 38px rgba(0,0,0,.20), 0 9px 22px rgba(37,211,102,.28); filter:saturate(1.05); }
.whatsapp-float:focus-visible { outline:3px solid rgba(0,150,199,.40); outline-offset:4px; }
.whatsapp-float svg { width:26px; height:26px; fill:currentColor; }
@media (max-width:560px){
  .hero-actions .btn-whatsapp span { display:none; }
  .hero-actions .btn-whatsapp { width:48px; padding:0; }
  .whatsapp-float { right:16px; bottom:16px; width:50px; height:50px; }
}

/* v1.4.1: generated JIXHub hero banner */
.hero-image { background:#031a2a; color:#fff; }
.hero-banner-wrap { position:relative; overflow:hidden; background:#031a2a; }
.hero-banner { display:block; width:100%; height:auto; max-width:none; }
.hero-cta-band { position:relative; background:linear-gradient(135deg,#031521 0%,#053452 62%,#023e8a 100%); border-top:0; }
.hero-cta-inner { min-height:190px; padding:30px 0; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.hero-cta-copy { max-width:850px; }
.hero-cta-copy h1 { margin:8px 0 8px; font-size:clamp(28px,3.8vw,48px); line-height:1.02; letter-spacing:-.04em; }
.hero-cta-copy p { margin:0; color:rgba(255,255,255,.72); max-width:760px; }
.hero-cta-band .hero-actions { margin-top:0; flex:0 0 auto; }
@media (max-width:900px){
  .hero-banner { width:100%; height:auto; }
  .hero-cta-inner { flex-direction:column; align-items:flex-start; padding:26px 0 30px; }
  .hero-cta-band .hero-actions { margin-top:18px; }
}
@media (max-width:560px){
  .hero-banner-wrap { background:#031a2a; }
  .hero-cta-copy h1 { font-size:30px; }
  .hero-cta-copy p { font-size:15px; }
}

/* v1.4.5: remove every visible frame/separator line from the category mosaic */
#visual-showroom, .showroom-visuals, .showroom-mosaic, .showroom-mosaic-frame { border: 0 !important; outline: 0 !important; }
.showroom-mosaic-frame { box-shadow: 0 28px 70px rgba(4,32,55,.13); }


/* v1.4.6 — independent category panels: only the hovered panel lifts */
.category-showcase-section { background:#fff !important; }
.category-showcase-section .container { background:#fff; }
.category-showcase {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.category-showcase-card {
  display:block;
  position:relative;
  min-width:0;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid rgba(18,48,72,.10);
  border-radius:22px;
  box-shadow:0 10px 28px rgba(4,32,55,.06);
  transform:translateY(0);
  will-change:transform;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease;
}
.category-showcase-card.reveal.is-visible:hover {
  transform:translateY(-10px);
  box-shadow:0 24px 52px rgba(4,32,55,.14);
  border-color:rgba(0,150,199,.30);
}
.category-showcase-media { display:block; position:relative; overflow:hidden; background:#fff; }
.category-showcase-media img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:533/439;
  object-fit:cover;
  transform:scale(1);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.category-showcase-card:hover .category-showcase-media img,
.category-showcase-card:focus-visible .category-showcase-media img {
  transform:scale(1.018);
  filter:saturate(1.03) contrast(1.01);
}
.category-showcase-hover {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(180deg,rgba(2,62,138,.02),rgba(0,150,199,.22));
  transition:opacity .25s ease;
}
.category-showcase-hover span {
  padding:10px 15px;
  border-radius:999px;
  background:#fff;
  color:var(--jix-navy);
  font-size:12px;
  font-weight:800;
  box-shadow:0 16px 34px rgba(3,24,39,.18);
  transform:translateY(9px);
  transition:transform .25s ease;
}
.category-showcase-card:hover .category-showcase-hover,
.category-showcase-card:focus-visible .category-showcase-hover { opacity:1; }
.category-showcase-card:hover .category-showcase-hover span,
.category-showcase-card:focus-visible .category-showcase-hover span { transform:none; }
.category-showcase-caption {
  display:grid;
  gap:4px;
  padding:12px 14px 14px;
  background:#fff;
}
.category-showcase-caption strong { color:var(--jix-deep); font-size:14px; line-height:1.25; }
.category-showcase-caption span { color:var(--jix-muted); font-size:11px; line-height:1.45; }
.category-showcase-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:16px;
  padding:0 2px;
  color:var(--jix-muted);
  font-size:11px;
}
.category-showcase-cta a {
  color:var(--jix-navy);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  padding:9px 12px;
  border-radius:11px;
  background:linear-gradient(135deg,#eefaff,#e6f6ff);
  border:1px solid rgba(0,150,199,.18);
  box-shadow:0 8px 20px rgba(0,150,199,.10);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.category-showcase-cta a:hover { transform:translateY(-1px); border-color:rgba(0,150,199,.34); box-shadow:0 12px 24px rgba(0,150,199,.14); }
@media (prefers-reduced-motion:reduce) {
  .category-showcase-card,
  .category-showcase-media img,
  .category-showcase-hover,
  .category-showcase-hover span,
  .category-showcase-cta a { transition:none !important; }
}
@media (max-width:1000px) {
  .category-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
}
@media (max-width:640px) {
  .category-showcase { grid-template-columns:1fr; gap:14px; }
  .category-showcase-card.reveal.is-visible:hover { transform:translateY(-6px); }
  .category-showcase-caption { padding:11px 13px 13px; }
  .category-showcase-cta { align-items:flex-start; }
}


/* v1.4.7 — dedicated Automotive Braking category showroom */
.braking-page-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#031521 0%,#06365a 55%,#023e8a 100%); color:#fff; padding:86px 0 78px; }
.braking-page-hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(90deg,#000,transparent 84%); }
.braking-page-hero::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-120px; top:-160px; border:1px solid rgba(0,150,199,.28); box-shadow:0 0 0 54px rgba(0,150,199,.05),0 0 0 108px rgba(0,150,199,.03); }
.braking-hero-inner { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.braking-hero-copy { max-width:800px; }
.braking-page-hero h1 { margin:14px 0 12px; font-size:clamp(42px,6vw,74px); line-height:.98; letter-spacing:-.055em; }
.braking-page-hero p { margin:0; max-width:760px; color:rgba(255,255,255,.74); font-size:18px; }
.braking-hero-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.braking-hero-meta span { padding:8px 11px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.76); font-size:11px; font-weight:700; }
.braking-showroom { background:#fff; padding:72px 0 90px; }
.braking-showroom-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.braking-showroom-head h2 { margin:8px 0 0; font-size:clamp(28px,4vw,44px); letter-spacing:-.045em; line-height:1.05; }
.braking-showroom-note { max-width:520px; color:var(--jix-muted); font-size:13px; line-height:1.65; }
.braking-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.braking-item { overflow:hidden; border:1px solid var(--jix-line); border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(4,32,55,.06); transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.braking-item:hover { transform:translateY(-7px); box-shadow:0 22px 48px rgba(4,32,55,.13); border-color:rgba(0,150,199,.30); }
.braking-media { display:block; position:relative; aspect-ratio:3/4; overflow:hidden; background:#eef4f8; cursor:zoom-in; }
.braking-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.braking-item:hover .braking-media img { transform:scale(1.045); filter:saturate(1.03) contrast(1.02); }
.braking-zoom { position:absolute; right:12px; top:12px; width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background:rgba(3,24,39,.74); border:1px solid rgba(255,255,255,.16); color:#fff; opacity:0; transform:translateY(-3px); transition:opacity .22s ease, transform .22s ease; backdrop-filter:blur(10px); }
.braking-item:hover .braking-zoom, .braking-media:focus-visible .braking-zoom { opacity:1; transform:none; }
.braking-body { padding:16px 17px 18px; }
.braking-body .braking-index { color:var(--jix-cyan); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:850; }
.braking-body h3 { margin:7px 0 6px; font-size:18px; letter-spacing:-.025em; }
.braking-body p { margin:0; color:var(--jix-muted); font-size:12.5px; line-height:1.55; }
.braking-footer-note { margin-top:24px; padding:16px 18px; border-radius:16px; border:1px solid var(--jix-line); background:#f7fbfd; color:#536879; font-size:12px; }
.braking-cta { margin-top:30px; padding:24px 26px; border-radius:22px; background:linear-gradient(135deg,#f2fbfe,#eaf6ff); border:1px solid rgba(0,150,199,.16); display:flex; align-items:center; justify-content:space-between; gap:22px; }
.braking-cta strong { display:block; font-size:20px; letter-spacing:-.025em; color:var(--jix-deep); }
.braking-cta p { margin:5px 0 0; color:var(--jix-muted); font-size:13px; }
.braking-lightbox { position:fixed; inset:0; z-index:9999; display:none; place-items:center; padding:28px; background:rgba(1,10,18,.90); backdrop-filter:blur(8px); }
.braking-lightbox.is-open { display:grid; }
.braking-lightbox-inner { position:relative; width:min(1000px,96vw); max-height:92vh; display:grid; place-items:center; }
.braking-lightbox img { max-width:100%; max-height:90vh; width:auto; height:auto; object-fit:contain; border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,.45); }
.braking-lightbox-close { position:absolute; top:-10px; right:-10px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.20); background:rgba(4,25,40,.88); color:#fff; font-size:24px; cursor:pointer; }
.braking-lightbox-close:focus-visible { outline:2px solid #7be7ff; outline-offset:3px; }
body.braking-lightbox-open { overflow:hidden; }
@media (max-width:1000px){
  .braking-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .braking-showroom-head { display:block; }
  .braking-showroom-note { margin-top:14px; }
}
@media (max-width:740px){
  .braking-page-hero { padding:68px 0 60px; }
  .braking-page-hero h1 { font-size:clamp(38px,12vw,58px); }
  .braking-page-hero p { font-size:16px; }
  .braking-hero-inner { display:block; }
  .braking-grid { grid-template-columns:1fr; }
  .braking-media { aspect-ratio:4/5; }
  .braking-cta { display:block; }
  .braking-cta .btn { margin-top:14px; }
  .braking-lightbox { padding:14px; }
  .braking-lightbox-close { top:-4px; right:-4px; }
}


/* v1.5.8 — dedicated Wheels & Rims category showroom */
.wheels-page-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#031521 0%,#06365a 55%,#023e8a 100%); color:#fff; padding:86px 0 78px; }
.wheels-page-hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(90deg,#000,transparent 84%); }
.wheels-page-hero::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-120px; top:-160px; border:1px solid rgba(0,150,199,.28); box-shadow:0 0 0 54px rgba(0,150,199,.05),0 0 0 108px rgba(0,150,199,.03); }
.wheels-hero-inner { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.wheels-hero-copy { max-width:800px; }
.wheels-page-hero h1 { margin:14px 0 12px; font-size:clamp(42px,6vw,74px); line-height:.98; letter-spacing:-.055em; }
.wheels-page-hero p { margin:0; max-width:760px; color:rgba(255,255,255,.74); font-size:18px; }
.wheels-hero-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.wheels-hero-meta span { padding:8px 11px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.76); font-size:11px; font-weight:700; }
.wheels-showroom { background:#fff; padding:72px 0 90px; }
.wheels-showroom-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.wheels-showroom-head h2 { margin:8px 0 0; font-size:clamp(28px,4vw,44px); letter-spacing:-.045em; line-height:1.05; }
.wheels-showroom-note { max-width:520px; color:var(--jix-muted); font-size:13px; line-height:1.65; }
.wheels-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.wheels-item { overflow:hidden; border:1px solid var(--jix-line); border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(4,32,55,.06); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.wheels-item:hover { transform:translateY(-7px); box-shadow:0 22px 48px rgba(4,32,55,.13); border-color:rgba(0,150,199,.30); }
.wheels-media { display:block; position:relative; width:100%; aspect-ratio:3/4; padding:0; border:0; overflow:hidden; background:#eef4f8; cursor:zoom-in; }
.wheels-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.wheels-item:hover .wheels-media img { transform:scale(1.045); filter:saturate(1.03) contrast(1.02); }
.wheels-zoom { position:absolute; right:12px; top:12px; width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background:rgba(3,24,39,.74); border:1px solid rgba(255,255,255,.16); color:#fff; opacity:0; transform:translateY(-3px); transition:opacity .22s ease,transform .22s ease; backdrop-filter:blur(10px); }
.wheels-item:hover .wheels-zoom,.wheels-media:focus-visible .wheels-zoom { opacity:1; transform:none; }
.wheels-body { padding:16px 17px 18px; }
.wheels-index { color:var(--jix-cyan); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:850; }
.wheels-body h3 { margin:7px 0 6px; font-size:18px; letter-spacing:-.025em; }
.wheels-body p { margin:0; color:var(--jix-muted); font-size:12.5px; line-height:1.55; }
.wheels-footer-note { margin-top:24px; padding:16px 18px; border-radius:16px; border:1px solid var(--jix-line); background:#f7fbfd; color:#536879; font-size:12px; }
.wheels-cta { margin-top:30px; padding:24px 26px; border-radius:22px; background:linear-gradient(135deg,#f2fbfe,#eaf6ff); border:1px solid rgba(0,150,199,.16); display:flex; align-items:center; justify-content:space-between; gap:22px; }
.wheels-cta strong { display:block; font-size:20px; letter-spacing:-.025em; color:var(--jix-deep); }
.wheels-cta p { margin:5px 0 0; color:var(--jix-muted); font-size:13px; }
.wheels-lightbox { position:fixed; inset:0; z-index:9999; display:none; place-items:center; padding:28px; background:rgba(1,10,18,.90); backdrop-filter:blur(8px); }
.wheels-lightbox.is-open { display:grid; }
.wheels-lightbox-inner { position:relative; width:min(1000px,96vw); max-height:92vh; display:grid; place-items:center; }
.wheels-lightbox img { max-width:100%; max-height:90vh; width:auto; height:auto; object-fit:contain; border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,.45); }
.wheels-lightbox-close { position:absolute; top:-10px; right:-10px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.20); background:rgba(4,25,40,.88); color:#fff; font-size:24px; cursor:pointer; }
.wheels-lightbox-close:focus-visible { outline:2px solid #7be7ff; outline-offset:3px; }
body.wheels-lightbox-open { overflow:hidden; }
@media (max-width:1000px){
  .wheels-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wheels-showroom-head { display:block; }
  .wheels-showroom-note { margin-top:14px; }
}
@media (max-width:740px){
  .wheels-page-hero { padding:68px 0 60px; }
  .wheels-page-hero h1 { font-size:clamp(38px,12vw,58px); }
  .wheels-page-hero p { font-size:16px; }
  .wheels-hero-inner { display:block; }
  .wheels-grid { grid-template-columns:1fr; }
  .wheels-media { aspect-ratio:4/5; }
  .wheels-cta { display:block; }
  .wheels-cta .btn { margin-top:14px; }
  .wheels-lightbox { padding:14px; }
  .wheels-lightbox-close { top:-4px; right:-4px; }
}


/* v1.5.8 — dedicated Oils & Fluids category showroom */
.oils-page-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#031521 0%,#06365a 55%,#023e8a 100%); color:#fff; padding:86px 0 78px; }
.oils-page-hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(90deg,#000,transparent 84%); }
.oils-page-hero::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-120px; top:-160px; border:1px solid rgba(0,150,199,.28); box-shadow:0 0 0 54px rgba(0,150,199,.05),0 0 0 108px rgba(0,150,199,.03); }
.oils-hero-inner { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.oils-hero-copy { max-width:800px; }
.oils-page-hero h1 { margin:14px 0 12px; font-size:clamp(42px,6vw,74px); line-height:.98; letter-spacing:-.055em; }
.oils-page-hero p { margin:0; max-width:760px; color:rgba(255,255,255,.74); font-size:18px; }
.oils-hero-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.oils-hero-meta span { padding:8px 11px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.76); font-size:11px; font-weight:700; }
.oils-showroom { background:#fff; padding:72px 0 90px; }
.oils-showroom-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.oils-showroom-head h2 { margin:8px 0 0; font-size:clamp(28px,4vw,44px); letter-spacing:-.045em; line-height:1.05; }
.oils-showroom-note { max-width:520px; color:var(--jix-muted); font-size:13px; line-height:1.65; }
.oils-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.oils-item { overflow:hidden; border:1px solid var(--jix-line); border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(4,32,55,.06); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.oils-item:hover { transform:translateY(-7px); box-shadow:0 22px 48px rgba(4,32,55,.13); border-color:rgba(0,150,199,.30); }
.oils-media { display:block; position:relative; width:100%; aspect-ratio:4/3; padding:0; border:0; overflow:hidden; background:#eef4f8; cursor:zoom-in; }
.oils-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.oils-item:hover .oils-media img { transform:scale(1.045); filter:saturate(1.03) contrast(1.02); }
.oils-zoom { position:absolute; right:12px; top:12px; width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background:rgba(3,24,39,.74); border:1px solid rgba(255,255,255,.16); color:#fff; opacity:0; transform:translateY(-3px); transition:opacity .22s ease,transform .22s ease; backdrop-filter:blur(10px); }
.oils-item:hover .oils-zoom,.oils-media:focus-visible .oils-zoom { opacity:1; transform:none; }
.oils-body { padding:16px 17px 18px; }
.oils-index { color:var(--jix-cyan); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:850; }
.oils-body h3 { margin:7px 0 6px; font-size:18px; letter-spacing:-.025em; }
.oils-body p { margin:0; color:var(--jix-muted); font-size:12.5px; line-height:1.55; }
.oils-footer-note { margin-top:24px; padding:16px 18px; border-radius:16px; border:1px solid var(--jix-line); background:#f7fbfd; color:#536879; font-size:12px; }
.oils-cta { margin-top:30px; padding:24px 26px; border-radius:22px; background:linear-gradient(135deg,#f2fbfe,#eaf6ff); border:1px solid rgba(0,150,199,.16); display:flex; align-items:center; justify-content:space-between; gap:22px; }
.oils-cta strong { display:block; font-size:20px; letter-spacing:-.025em; color:var(--jix-deep); }
.oils-cta p { margin:5px 0 0; color:var(--jix-muted); font-size:13px; }
.oils-lightbox { position:fixed; inset:0; z-index:9999; display:none; place-items:center; padding:28px; background:rgba(1,10,18,.90); backdrop-filter:blur(8px); }
.oils-lightbox.is-open { display:grid; }
.oils-lightbox-inner { position:relative; width:min(1000px,96vw); max-height:92vh; display:grid; place-items:center; }
.oils-lightbox img { max-width:100%; max-height:90vh; width:auto; height:auto; object-fit:contain; border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,.45); }
.oils-lightbox-close { position:absolute; top:-10px; right:-10px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.20); background:rgba(4,25,40,.88); color:#fff; font-size:24px; cursor:pointer; }
.oils-lightbox-close:focus-visible { outline:2px solid #7be7ff; outline-offset:3px; }
body.oils-lightbox-open { overflow:hidden; }
@media (max-width:1000px){
  .oils-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .oils-showroom-head { display:block; }
  .oils-showroom-note { margin-top:14px; }
}
@media (max-width:740px){
  .oils-page-hero { padding:68px 0 60px; }
  .oils-page-hero h1 { font-size:clamp(38px,12vw,58px); }
  .oils-page-hero p { font-size:16px; }
  .oils-hero-inner { display:block; }
  .oils-grid { grid-template-columns:1fr; }
  .oils-media { aspect-ratio:1/1; }
  .oils-cta { display:block; }
  .oils-cta .btn { margin-top:14px; }
  .oils-lightbox { padding:14px; }
  .oils-lightbox-close { top:-4px; right:-4px; }
}

/* v1.5.10 — Oils & Fluids: use image-only assets so card text is rendered once by the template. */


/* v1.5.11 — dedicated Workshop Tools category showroom */
.tools-page-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#031521 0%,#06365a 55%,#023e8a 100%); color:#fff; padding:86px 0 78px; }
.tools-page-hero::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(90deg,#000,transparent 84%); }
.tools-page-hero::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; right:-120px; top:-160px; border:1px solid rgba(0,150,199,.28); box-shadow:0 0 0 54px rgba(0,150,199,.05),0 0 0 108px rgba(0,150,199,.03); }
.tools-hero-inner { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.tools-hero-copy { max-width:800px; }
.tools-page-hero h1 { margin:14px 0 12px; font-size:clamp(42px,6vw,74px); line-height:.98; letter-spacing:-.055em; }
.tools-page-hero p { margin:0; max-width:760px; color:rgba(255,255,255,.74); font-size:18px; }
.tools-hero-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.tools-hero-meta span { padding:8px 11px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.76); font-size:11px; font-weight:700; }
.tools-showroom { background:#fff; padding:72px 0 90px; }
.tools-showroom-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.tools-showroom-head h2 { margin:8px 0 0; font-size:clamp(28px,4vw,44px); letter-spacing:-.045em; line-height:1.05; }
.tools-showroom-note { max-width:520px; color:var(--jix-muted); font-size:13px; line-height:1.65; }
.tools-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tools-item { overflow:hidden; border:1px solid var(--jix-line); border-radius:22px; background:#fff; box-shadow:0 14px 38px rgba(4,32,55,.06); transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.tools-item:hover { transform:translateY(-7px); box-shadow:0 22px 48px rgba(4,32,55,.13); border-color:rgba(0,150,199,.30); }
.tools-media { display:block; position:relative; width:100%; aspect-ratio:4/3; padding:0; border:0; overflow:hidden; background:#eef4f8; cursor:zoom-in; }
.tools-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.tools-item:hover .tools-media img { transform:scale(1.045); filter:saturate(1.03) contrast(1.02); }
.tools-zoom { position:absolute; right:12px; top:12px; width:36px; height:36px; border-radius:12px; display:grid; place-items:center; background:rgba(3,24,39,.74); border:1px solid rgba(255,255,255,.16); color:#fff; opacity:0; transform:translateY(-3px); transition:opacity .22s ease,transform .22s ease; backdrop-filter:blur(10px); }
.tools-item:hover .tools-zoom,.tools-media:focus-visible .tools-zoom { opacity:1; transform:none; }
.tools-body { padding:16px 17px 18px; }
.tools-index { color:var(--jix-cyan); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:850; }
.tools-body h3 { margin:7px 0 6px; font-size:18px; letter-spacing:-.025em; }
.tools-body p { margin:0; color:var(--jix-muted); font-size:12.5px; line-height:1.55; }
.tools-footer-note { margin-top:24px; padding:16px 18px; border-radius:16px; border:1px solid var(--jix-line); background:#f7fbfd; color:#536879; font-size:12px; }
.tools-cta { margin-top:30px; padding:24px 26px; border-radius:22px; background:linear-gradient(135deg,#f2fbfe,#eaf6ff); border:1px solid rgba(0,150,199,.16); display:flex; align-items:center; justify-content:space-between; gap:22px; }
.tools-cta strong { display:block; font-size:20px; letter-spacing:-.025em; color:var(--jix-deep); }
.tools-cta p { margin:5px 0 0; color:var(--jix-muted); font-size:13px; }
.tools-lightbox { position:fixed; inset:0; z-index:9999; display:none; place-items:center; padding:28px; background:rgba(1,10,18,.90); backdrop-filter:blur(8px); }
.tools-lightbox.is-open { display:grid; }
.tools-lightbox-inner { position:relative; width:min(1100px,96vw); max-height:92vh; display:grid; place-items:center; }
.tools-lightbox img { max-width:100%; max-height:90vh; width:auto; height:auto; object-fit:contain; border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,.45); }
.tools-lightbox-close { position:absolute; top:-10px; right:-10px; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.20); background:rgba(4,25,40,.88); color:#fff; font-size:24px; cursor:pointer; }
.tools-lightbox-close:focus-visible { outline:2px solid #7be7ff; outline-offset:3px; }
body.tools-lightbox-open { overflow:hidden; }
@media (max-width:900px){ .tools-grid{grid-template-columns:1fr 1fr;} .tools-showroom-head{display:block;} .tools-showroom-note{margin-top:14px;} }
@media (max-width:740px){ .tools-page-hero{padding:68px 0 60px;} .tools-page-hero h1{font-size:clamp(38px,12vw,58px);} .tools-page-hero p{font-size:16px;} .tools-hero-inner{display:block;} .tools-grid{grid-template-columns:1fr;} .tools-media{aspect-ratio:4/3;} .tools-cta{display:block;} .tools-cta .btn{margin-top:14px;} .tools-lightbox{padding:14px;} .tools-lightbox-close{top:-4px;right:-4px;} }


/* v1.5.12 — Engine & Maintenance + Other Components showrooms */
.component-page-hero{background:linear-gradient(135deg,#021e31 0%,#043e5b 58%,#005a7c 100%);padding:72px 0 58px;color:#fff;position:relative;overflow:hidden}
.component-page-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 22%,rgba(0,150,199,.18),transparent 30%),linear-gradient(transparent 96%,rgba(0,0,0,.08));pointer-events:none}
.component-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.component-hero-copy{max-width:830px}.component-hero-copy h1{margin:10px 0 18px;font-size:clamp(42px,6vw,72px);letter-spacing:-.05em;line-height:.98;color:#fff}.component-hero-copy p{margin:0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.7;max-width:780px}
.component-showroom{background:#fff;padding:72px 0 90px}.component-showroom-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.component-showroom-head h2{margin:8px 0 0;font-size:clamp(28px,4vw,44px);letter-spacing:-.045em;line-height:1.05}.component-showroom-note{max-width:560px;color:var(--jix-muted);font-size:13px;line-height:1.65}
.component-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.component-item{overflow:hidden;border:1px solid var(--jix-line);border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(4,32,55,.06);transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.component-item:hover{transform:translateY(-5px);border-color:rgba(0,150,199,.30);box-shadow:0 24px 55px rgba(4,32,55,.12)}
.component-media{display:block;width:100%;position:relative;padding:0;border:0;background:#eaf3f8;cursor:zoom-in;overflow:hidden;aspect-ratio:4/3}.component-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .3s ease}.component-item:hover .component-media img{transform:scale(1.045);filter:saturate(1.04) contrast(1.02)}.component-media:after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(180deg,transparent,rgba(3,24,39,.3));pointer-events:none}.component-zoom{position:absolute;right:12px;top:12px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(3,24,39,.78);color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);opacity:0;transform:translateY(-4px);transition:.25s ease}.component-item:hover .component-zoom{opacity:1;transform:translateY(0)}
.component-body{padding:15px 16px 18px}.component-index{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0096c7}.component-body h3{margin:8px 0 0;font-size:17px;letter-spacing:-.02em}.component-body p{margin:7px 0 0;color:var(--jix-muted);font-size:12px;line-height:1.6}.component-footer-note{margin-top:20px;color:#526d7f;font-size:11px}.component-cta{margin-top:24px;padding:20px 22px;border:1px solid var(--jix-line);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#f7fbfe,#eef8fc)}.component-cta strong{font-size:16px}.component-cta p{margin:5px 0 0;color:var(--jix-muted);font-size:12px;line-height:1.55}
.component-lightbox{position:fixed;inset:0;z-index:99999;display:none;place-items:center;padding:28px;background:rgba(1,13,22,.86);backdrop-filter:blur(10px)}.component-lightbox.is-open{display:grid}.component-lightbox-inner{position:relative;max-width:min(1200px,96vw);max-height:92vh}.component-lightbox img{display:block;max-width:96vw;max-height:86vh;width:auto;height:auto;border-radius:18px;box-shadow:0 35px 100px rgba(0,0,0,.45)}.component-lightbox-close{position:absolute;right:-10px;top:-10px;width:40px;height:40px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#081d2d;color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.2)}body.component-lightbox-open{overflow:hidden}
@media (max-width:1050px){.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:740px){.component-page-hero{padding:64px 0 54px}.component-hero-inner{display:block}.component-hero-copy h1{font-size:clamp(38px,12vw,58px)}.component-hero-copy p{font-size:15px}.component-hero-inner>.btn{margin-top:18px}.component-showroom-head{display:block}.component-showroom-note{margin-top:14px}.component-grid{grid-template-columns:1fr}.component-media{aspect-ratio:4/3}.component-cta{display:block}.component-cta .btn{margin-top:14px}.component-lightbox{padding:14px}}

/* v1.5.19 — contact page: WhatsApp first, dedicated email icons, location pin */
.contact-priority { border-top:0; }
.contact-icon-whatsapp { color:#25D366; }
.contact-icon-location { color:#0b78b5; }
.contact-icon-email { color:#0b78b5; }
.contact-detail-group .contact-simple-row + .contact-simple-row { margin-top:14px; }
.contact-icon-whatsapp svg, .contact-icon-location svg, .contact-icon-email svg { width:24px; height:24px; }

/* v1.5.19 — header WhatsApp shortcut + country flags in language menu */
.header-whatsapp {
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:#25D366;
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 8px 18px rgba(37,211,102,.20);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.header-whatsapp:hover { transform:translateY(-2px) scale(1.03); box-shadow:0 12px 24px rgba(37,211,102,.28); filter:saturate(1.05); }
.header-whatsapp:focus-visible { outline:3px solid rgba(123,231,255,.70); outline-offset:3px; }
.header-whatsapp svg { width:19px; height:19px; fill:currentColor; }
.language-flag { width:21px; min-width:21px; display:inline-flex; align-items:center; justify-content:center; font-size:15px; line-height:1; }
.language-flag-current { font-size:14px; margin-left:-1px; }
.language-menu a { gap:8px; }
.language-menu .language-code { width:20px; }
@media (max-width:560px){ .header-whatsapp { width:36px; height:36px; flex-basis:36px; } .header-whatsapp svg { width:18px; height:18px; } }
