/* JPARTS mobile category — isolated from existing product cards and filters */
:root{--jcm-navy:#102b46;--jcm-blue:#2d647c;--jcm-orange:#ff8b36}
.jcm-open{border:1px solid #bbccda;background:#fff;border-radius:10px;color:var(--jcm-navy);font-weight:700;padding:7px 10px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:13px}
.jcm-overlay[hidden],.jcm-group[hidden],.jcm-descendants[hidden]{display:none!important}
.jcm-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center}
.jcm-shade{position:absolute;inset:0;background:rgba(9,24,40,.62)}
.jcm-panel{position:relative;background:#fff;width:min(100%,780px);height:100dvh;max-height:100dvh;display:flex;flex-direction:column;color:var(--jcm-navy);box-shadow:0 18px 60px #0003;outline:0}
.jcm-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid #e3eaf0;font-size:17px}
.jcm-head strong span{color:var(--jcm-blue)}.jcm-close{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:var(--jcm-navy);padding:0 7px}
.jcm-columns{display:grid;grid-template-columns:36% minmax(0,1fr);flex:1;min-height:0}
.jcm-roots{overflow:auto;background:#f3f6f9;border-right:1px solid #e1e8ef;padding:7px 0}
.jcm-root{display:block;width:100%;text-align:left;word-break:keep-all;border:0;border-left:3px solid transparent;background:none;padding:14px 9px;font-size:13px;color:#344556;cursor:pointer}
.jcm-root.is-active{background:#fff;border-left-color:var(--jcm-orange);font-weight:800;color:var(--jcm-navy)}
.jcm-groups{min-width:0;overflow:auto;padding:13px 11px 90px}
.jcm-group-title{display:block;font-weight:800;font-size:14px;color:var(--jcm-navy);margin:0 0 12px}
.jcm-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start}
.jcm-node{min-width:0;border:1px solid #e4eaf0;border-radius:11px;background:white;padding:5px}
.jcm-node-head{display:flex;align-items:center;min-width:0}
.jcm-category-link{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:8px 2px;color:var(--jcm-navy);font-size:12px}
.jcm-category-image{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:#ecf2f8;color:var(--jcm-blue);font-size:23px}
.jcm-name{overflow-wrap:anywhere;line-height:1.4}
.jcm-expand{align-self:stretch;min-width:24px;background:#f2f6f9;border:0;border-radius:7px;color:var(--jcm-blue);font-size:19px;cursor:pointer}
.jcm-expand[aria-expanded=true]{color:var(--jcm-orange)}
.jcm-descendants{margin:4px 0 1px;padding:6px 0 3px 7px;border-left:2px solid #f7a45f;display:grid;gap:6px}
.jcm-descendants .jcm-node{background:#f8fafc}.jcm-descendants .jcm-category-image{width:26px;height:26px;font-size:16px}
.jcm-descendants .jcm-category-link{flex-direction:row;text-align:left;font-size:11px;padding:5px 1px}
body.jcm-locked{overflow:hidden}
@media (min-width:650px){.jcm-panel{margin-top:min(6vh,40px);height:min(88vh,900px);border-radius:15px;overflow:hidden}.jcm-columns{grid-template-columns:33% minmax(0,1fr)}.jcm-children{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:360px){.jcm-root{font-size:12px;padding:12px 7px}.jcm-children{gap:5px}.jcm-category-link{font-size:11px}}
@media(max-width:430px){.site-header{gap:8px;padding:0 10px}.site-header .brand{font-size:21px}.jcm-open{font-size:12px;padding:6px 8px}.jcm-open span{display:none}.site-header .header-action{font-size:11px;white-space:nowrap}}
