*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:'Inter',system-ui,sans-serif; background:#f5f5f5; color:#111; font-size:14px; -webkit-font-smoothing:antialiased; }
.cat-nav { background:#fff; border-bottom:1px solid #e5e5e5; padding:0 32px; display:flex; align-items:center; justify-content:space-between; height:64px; }
.cat-logo { font-size:20px; font-weight:900; color:#111; letter-spacing:-0.5px; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.cat-logo-dot,.cat-logo-parts { color:#e8520a; }
.cat-nav-links { display:flex; gap:2px; }
.cat-nav-links a { color:#111; text-decoration:none; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:8px 14px; border-radius:4px; transition:background .15s; cursor:pointer; }
.cat-nav-links a:hover { background:#f5f5f5; }
.cat-btn-track { background:transparent; border:2px solid #111; color:#111; font-family:inherit; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:9px 18px; border-radius:4px; cursor:pointer; transition:all .15s; text-decoration:none; display:inline-block; }
.cat-btn-track:hover { background:#111; color:#fff; }
.cart-nav-btn { position:relative; display:flex; align-items:center; color:#111; padding:6px; cursor:pointer; background:none; border:none; }
.cart-nav-btn:hover { color:#e8520a; }
.cart-badge { position:absolute; top:-4px; right:-6px; background:#e8520a; color:#fff; font-size:10px; font-weight:800; width:18px; height:18px; border-radius:50%; display:none; align-items:center; justify-content:center; }
.page { display:none; }
.page.active { display:block; }
.cat-bc { background:#fff; border-bottom:1px solid #e5e5e5; padding:10px 32px; font-size:12px; color:#999; }
.cat-bc a { color:#e8520a; text-decoration:none; font-weight:500; cursor:pointer; }
.cat-bc span { margin:0 7px; color:#ccc; }
.co-card,.card { background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:24px; margin-bottom:20px; }
.sec-title,.section-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#999; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.sec-title::after,.section-title::after { content:''; flex:1; height:1px; background:#e5e5e5; }
.cat-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.cat-tag { font-size:11px; font-weight:600; padding:4px 10px; border-radius:3px; }
.cat-tag-new   { background:#fef3ee; color:#c2410c; border:1px solid #fbd5c0; }
.cat-tag-stock { background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; }
.cat-tag-ship  { background:#eff6ff; color:#1e40af; border:1px solid #bfdbfe; }
.cat-tag-warr  { background:#fefce8; color:#854d0e; border:1px solid #fde68a; }
/* PRODUCT PAGE */
.cat-product-wrap { max-width:1140px; margin:32px auto; padding:0 32px; display:grid; grid-template-columns:1fr 440px; gap:32px; }
.cat-gallery { background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:24px; }
.cat-gal-main { background:#fafafa; border:1px solid #e5e5e5; border-radius:6px; height:340px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; overflow:hidden; cursor:zoom-in; position:relative; }
.cat-gal-main img { max-width:100%; max-height:320px; object-fit:contain; transition:transform .3s; }
.cat-gal-main:hover img { transform:scale(1.06); }
.cat-gal-badge { position:absolute; top:12px; left:12px; background:#e8520a; color:#fff; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:4px 10px; border-radius:3px; }
.cat-thumbs { display:flex; gap:10px; }
.cat-thumb { width:78px; height:78px; border:2px solid #e5e5e5; border-radius:6px; cursor:pointer; background:#fafafa; overflow:hidden; transition:border-color .2s; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:10px; color:#bbb; font-weight:600; }
.cat-thumb img { width:100%; height:100%; object-fit:contain; padding:6px; }
.cat-thumb.active,.cat-thumb:hover { border-color:#e8520a; }
.cat-info { display:flex; flex-direction:column; gap:16px; }
.cat-card { background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:24px; }
.cat-prod-name { font-size:24px; font-weight:800; color:#111; line-height:1.2; letter-spacing:-.4px; margin-bottom:6px; text-transform:uppercase; }
.cat-prod-sub  { font-size:13px; color:#666; line-height:1.6; margin-bottom:8px; }
.cat-prod-oem  { font-size:13px; color:#e8520a; font-weight:600; margin-bottom:20px; display:block; }
.cat-price-box { background:#fafafa; border:1px solid #e5e5e5; border-radius:8px; padding:16px 20px; margin-bottom:20px; }
.cat-price-line { display:flex; align-items:baseline; gap:12px; margin-bottom:6px; }
.cat-price      { font-size:38px; font-weight:900; color:#111; letter-spacing:-1.5px; }
.cat-price-was  { font-size:17px; color:#bbb; text-decoration:line-through; font-weight:400; }
.cat-price-save { background:#e8520a; color:#fff; font-size:11px; font-weight:700; padding:3px 9px; border-radius:3px; letter-spacing:.04em; }
.cat-price-note { font-size:11px; color:#999; }
.cat-btn-add { width:100%; background:#e8520a; color:#fff; font-family:inherit; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:15px; border:none; border-radius:6px; cursor:pointer; margin-bottom:10px; transition:background .15s; display:flex; align-items:center; justify-content:center; gap:8px; }
.cat-btn-add:hover { background:#d04808; }
.cat-btn-order { width:100%; background:#111; color:#fff; font-family:inherit; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:13px; border:none; border-radius:6px; cursor:pointer; margin-bottom:20px; transition:background .15s; }
.cat-btn-order:hover { background:#333; }
.cat-purchase-box { margin-top:20px; padding-top:20px; border-top:1px solid #f0f0f0; }
.cat-purchase-top { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.cat-purchase-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#999; }
.cat-purchase-meta { font-size:12px; color:#666; margin-top:4px; }
.cat-qty-wrap { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.cat-qty-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#666; min-width:64px; }
.cat-qty-ctrl { display:inline-flex; align-items:center; border:1px solid #e5e5e5; border-radius:6px; overflow:hidden; background:#fff; }
.cat-qty-btn { width:36px; height:38px; border:none; background:#fafafa; color:#555; font:inherit; font-size:18px; cursor:pointer; transition:background .15s,color .15s; }
.cat-qty-btn:hover { background:#f0f0f0; color:#111; }
.cat-qty-input { width:48px; height:38px; border:none; text-align:center; font:inherit; font-size:14px; font-weight:700; color:#111; background:#fff; }
.cat-purchase-actions { display:flex; flex-direction:column; gap:10px; }
.cat-purchase-note { font-size:12px; color:#999; line-height:1.5; margin-top:2px; }
.cat-btn-add.is-loading { background:#c2410c; pointer-events:none; }
.cat-btn-order-inline { width:100%; background:#fff; color:#111; font-family:inherit; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:12px; border:1px solid #111; border-radius:6px; cursor:pointer; text-decoration:none; text-align:center; transition:all .15s; }
.cat-btn-order-inline:hover { background:#111; color:#fff; }
.cat-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding-top:20px; border-top:1px solid #f0f0f0; }
.cat-trust-item { text-align:center; }
.cat-trust-icon { width:44px; height:44px; background:#fef3ee; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 8px; }
.cat-trust-icon svg { width:20px; height:20px; stroke:#e8520a; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cat-trust-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#111; margin-bottom:2px; }
.cat-trust-sub { font-size:10px; color:#999; line-height:1.4; }
.cat-card-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#999; margin-bottom:14px; }
.cat-pn-row { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid #f5f5f5; }
.cat-pn-row:last-child { border:none; }
.cat-pn-key { font-size:12px; color:#666; font-weight:500; }
.cat-pn-val { font-family:'Courier New',monospace; font-size:11px; font-weight:600; background:#f5f5f5; color:#111; padding:3px 8px; border-radius:3px; }
.cat-features { max-width:1140px; margin:0 auto; padding:0 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cat-feat-box { background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:24px; text-align:center; }
.cat-feat-icon { width:52px; height:52px; background:#fef3ee; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.cat-feat-icon svg { width:24px; height:24px; stroke:#e8520a; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cat-feat-title { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#111; margin-bottom:6px; }
.cat-feat-desc { font-size:12px; color:#666; line-height:1.6; }
.cat-tabs-wrap { max-width:1140px; margin:28px auto; padding:0 32px; }
.cat-tab-bar { display:flex; border-bottom:2px solid #e5e5e5; }
.cat-tab-btn { font-family:inherit; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#999; padding:12px 20px; border:none; background:none; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; transition:all .2s; }
.cat-tab-btn.active { color:#111; border-bottom-color:#e8520a; }
.cat-tab-btn:hover { color:#111; }
.cat-tab-body { background:#fff; border:1px solid #e5e5e5; border-top:none; border-radius:0 0 8px 8px; padding:28px; }
.cat-tab-panel { display:none; }
.cat-tab-panel.active { display:block; }
.cat-desc-p { font-size:14px; line-height:1.8; color:#444; margin-bottom:12px; }
.cat-feat-h { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#111; margin:20px 0 12px; }
.cat-feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cat-fi { display:flex; align-items:flex-start; gap:9px; font-size:13px; color:#444; line-height:1.5; }
.cat-fck { width:20px; height:20px; background:#fef3ee; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.cat-fck svg { width:10px; height:10px; stroke:#e8520a; fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.cat-spec-t { width:100%; border-collapse:collapse; font-size:13px; }
.cat-spec-t tr:nth-child(odd) td { background:#fafafa; }
.cat-spec-t td { padding:11px 14px; border-bottom:1px solid #f0f0f0; color:#333; }
.cat-spec-t td:first-child { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#999; width:190px; }
.cat-fit-t { width:100%; border-collapse:collapse; font-size:13px; }
.cat-fit-t thead th { background:#111; color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:11px 14px; text-align:left; }
.cat-fit-t td { padding:10px 14px; border-bottom:1px solid #f0f0f0; color:#333; }
.cat-fit-t tr:nth-child(even) td { background:#fafafa; }
.cat-fit-t tr:hover td { background:#fef3ee; }
.cat-fit-pill { background:#f0fdf4; color:#166534; font-size:10px; font-weight:700; padding:2px 7px; border-radius:3px; margin-right:6px; border:1px solid #bbf7d0; }
/* CART */
.cart-wrap { max-width:1140px; margin:32px auto; padding:0 32px; display:grid; grid-template-columns:1fr 360px; gap:32px; align-items:start; }
.cart-item { display:grid; grid-template-columns:88px 1fr auto; gap:16px; padding:20px 0; border-bottom:1px solid #f0f0f0; align-items:center; }
.cart-item:last-of-type { border-bottom:none; padding-bottom:0; }
.ci-img { width:88px; height:88px; border:1px solid #e5e5e5; border-radius:6px; background:#fafafa; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.ci-img img { width:100%; height:100%; object-fit:contain; padding:6px; }
.ci-name { font-size:15px; font-weight:700; color:#111; margin-bottom:4px; }
.ci-sub  { font-size:12px; color:#999; margin-bottom:6px; }
.ci-oem  { font-size:11px; color:#e8520a; font-weight:600; margin-bottom:12px; }
.ci-actions { display:flex; align-items:center; gap:16px; }
.qty-ctrl { display:inline-flex; align-items:center; border:1px solid #e5e5e5; border-radius:6px; overflow:hidden; }
.qty-ctrl button { width:32px; height:34px; border:none; background:#fafafa; font-size:16px; cursor:pointer; font-family:inherit; color:#555; transition:background .15s; }
.qty-ctrl button:hover { background:#f0f0f0; }
.qty-ctrl input { width:40px; height:34px; border:none; text-align:center; font-size:13px; font-weight:600; font-family:inherit; background:#fff; }
.ci-remove { font-size:11px; font-weight:600; color:#999; text-transform:uppercase; letter-spacing:.05em; cursor:pointer; border:none; background:none; font-family:inherit; padding:0; transition:color .15s; }
.ci-remove:hover { color:#e8520a; }
.ci-price { font-size:17px; font-weight:800; color:#111; white-space:nowrap; text-align:right; }
.ci-each  { font-size:11px; color:#bbb; text-align:right; margin-top:2px; }
.empty-state { text-align:center; padding:60px 20px; }
.empty-state svg { width:56px; height:56px; stroke:#ddd; fill:none; stroke-width:1.5; margin:0 auto 20px; display:block; }
.empty-state h3 { font-size:18px; font-weight:700; color:#999; margin-bottom:8px; }
.empty-state p { font-size:13px; color:#bbb; margin-bottom:24px; }
.empty-cta { background:#e8520a; color:#fff; font-family:inherit; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:12px 24px; border-radius:6px; border:none; cursor:pointer; transition:background .15s; }
.empty-cta:hover { background:#d04808; }
.sum-line { display:flex; justify-content:space-between; font-size:13px; color:#666; margin-bottom:10px; }
.sum-line.total { font-size:17px; font-weight:800; color:#111; margin-top:14px; padding-top:14px; border-top:2px solid #111; margin-bottom:0; }
.sum-line .free { color:#166534; font-weight:600; }
.promo-row { display:flex; gap:8px; margin:16px 0; }
.promo-row input { flex:1; font-family:inherit; font-size:13px; border:1px solid #d5d5d5; border-radius:6px; padding:9px 14px; outline:none; transition:border-color .15s; }
.promo-row input:focus { border-color:#111; }
.promo-row input::placeholder { color:#bbb; }
.promo-btn { background:#f5f5f5; border:1px solid #d5d5d5; color:#444; font-family:inherit; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; padding:9px 16px; border-radius:6px; cursor:pointer; white-space:nowrap; transition:all .15s; }
.promo-btn:hover { background:#111; color:#fff; border-color:#111; }
.btn-checkout-main { width:100%; background:#e8520a; color:#fff; font-family:inherit; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:15px; border:none; border-radius:6px; cursor:pointer; margin-top:18px; transition:background .15s; display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-checkout-main:hover { background:#d04808; }
.btn-continue-shop { width:100%; background:#fff; color:#111; font-family:inherit; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; padding:12px; border:1px solid #e5e5e5; border-radius:6px; cursor:pointer; margin-top:10px; transition:all .15s; }
.btn-continue-shop:hover { background:#f5f5f5; }
.trust-badges { display:flex; justify-content:center; gap:20px; margin-top:16px; padding-top:16px; border-top:1px solid #f0f0f0; }
.trust-badge { display:flex; align-items:center; gap:5px; font-size:10px; color:#bbb; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.trust-badge svg { width:13px; height:13px; stroke:#bbb; fill:none; stroke-width:2; flex-shrink:0; }
.summary-sticky { position:sticky; top:24px; }
/* CHECKOUT */
.checkout-wrap { max-width:1140px; margin:32px auto; padding:0 32px; display:grid; grid-template-columns:1fr 380px; gap:32px; align-items:start; }
.progress-wrap { background:#fff; border-bottom:1px solid #e5e5e5; padding:16px 32px; }
.progress-inner { max-width:1140px; margin:0 auto; display:flex; align-items:center; }
.progress-step { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:#bbb; text-transform:uppercase; letter-spacing:.05em; }
.progress-step.active { color:#111; }
.progress-step.done { color:#e8520a; }
.step-num { width:24px; height:24px; border-radius:50%; background:#e5e5e5; color:#999; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.progress-step.active .step-num { background:#111; color:#fff; }
.progress-step.done .step-num { background:#e8520a; color:#fff; }
.progress-line { flex:1; height:1px; background:#e5e5e5; margin:0 16px; max-width:80px; }
.progress-line.done { background:#e8520a; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-row.full { grid-template-columns:1fr; }
.form-row.three { grid-template-columns:1fr 1fr 1fr; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:#666; }
.form-group input,.form-group select { font-family:inherit; font-size:14px; color:#111; background:#fff; border:1px solid #d5d5d5; border-radius:6px; padding:10px 14px; outline:none; transition:border-color .15s; -webkit-appearance:none; appearance:none; }
.form-group input:focus,.form-group select:focus { border-color:#111; }
.form-group input::placeholder { color:#bbb; }
.select-wrap { position:relative; }
.select-wrap::after { content:''; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid #666; pointer-events:none; }
.select-wrap select { width:100%; padding-right:32px; }
.shipping-options { display:flex; flex-direction:column; gap:10px; }
.shipping-opt { display:flex; align-items:center; gap:14px; border:1px solid #e5e5e5; border-radius:6px; padding:14px 16px; cursor:pointer; transition:border-color .15s,background .15s; }
.shipping-opt:hover { border-color:#ccc; }
.shipping-opt.selected { border-color:#111; background:#fafafa; }
.shipping-opt input[type="radio"] { accent-color:#111; width:16px; height:16px; flex-shrink:0; }
.shipping-opt-info { flex:1; }
.shipping-opt-name { font-size:14px; font-weight:600; color:#111; }
.shipping-opt-eta  { font-size:12px; color:#999; margin-top:2px; }
.shipping-opt-price { font-size:14px; font-weight:700; color:#111; }
.shipping-opt-price.free { color:#166534; }
.payment-tabs { display:flex; gap:10px; margin-bottom:20px; }
.pay-tab { flex:1; border:1px solid #e5e5e5; border-radius:6px; padding:12px; text-align:center; cursor:pointer; font-size:12px; font-weight:600; color:#666; text-transform:uppercase; letter-spacing:.04em; transition:all .15s; display:flex; align-items:center; justify-content:center; gap:6px; background:#fff; font-family:inherit; }
.pay-tab.active { border-color:#111; background:#111; color:#fff; }
.pay-tab svg { width:16px; height:16px; }
.card-input-wrap { position:relative; }
.card-input-wrap input { padding-right:72px; }
.card-brand-icon { position:absolute; right:14px; top:50%; transform:translateY(-50%); display:flex; gap:4px; }
.card-brand-icon span { width:26px; height:17px; border-radius:2px; font-size:7px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.visa { background:#1a1f71; color:#fff; font-size:8px; }
.mc   { background:#eb001b; color:#fff; }
.secure-note { display:flex; align-items:center; gap:6px; font-size:11px; color:#999; margin-top:14px; }
.secure-note svg { width:13px; height:13px; stroke:#999; fill:none; stroke-width:2; flex-shrink:0; }
.order-item { display:flex; gap:14px; margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid #f0f0f0; }
.order-item:last-of-type { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.order-item-img { width:72px; height:72px; border:1px solid #e5e5e5; border-radius:6px; background:#fafafa; overflow:hidden; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.order-item-img img { width:100%; height:100%; object-fit:contain; padding:4px; }
.order-item-info { flex:1; }
.order-item-name { font-size:13px; font-weight:600; color:#111; margin-bottom:4px; line-height:1.4; }
.order-item-sub  { font-size:11px; color:#999; margin-bottom:6px; }
.order-item-qty  { display:inline-flex; align-items:center; border:1px solid #e5e5e5; border-radius:4px; overflow:hidden; }
.qty-btn { width:26px; height:26px; background:#fafafa; border:none; cursor:pointer; font-size:14px; color:#666; display:flex; align-items:center; justify-content:center; transition:background .15s; font-family:inherit; }
.qty-btn:hover { background:#f0f0f0; }
.qty-val { width:32px; text-align:center; font-size:13px; font-weight:600; color:#111; border:none; background:#fff; font-family:inherit; }
.order-item-price { font-size:14px; font-weight:700; color:#111; flex-shrink:0; }
.co-sum-line { display:flex; justify-content:space-between; font-size:13px; color:#666; margin-bottom:10px; }
.co-sum-line.total { font-size:16px; font-weight:800; color:#111; margin-top:14px; padding-top:14px; border-top:2px solid #111; margin-bottom:0; }
.co-sum-line .free { color:#166534; font-weight:600; }
.co-sum-line .disc { color:#e8520a; font-weight:600; }
.btn-place-order { width:100%; background:#e8520a; color:#fff; font-family:inherit; font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:16px; border:none; border-radius:6px; cursor:pointer; margin-top:20px; transition:background .15s; display:flex; align-items:center; justify-content:center; gap:8px; }
.btn-place-order:hover { background:#d04808; }
/* CONFIRMATION */
.confirm-wrap { max-width:640px; margin:60px auto; padding:0 32px; text-align:center; }
.confirm-icon { width:72px; height:72px; background:#f0fdf4; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 24px; }
.confirm-icon svg { width:36px; height:36px; stroke:#166534; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.confirm-h1 { font-size:28px; font-weight:900; color:#111; margin-bottom:8px; text-transform:uppercase; letter-spacing:-.5px; }
.confirm-sub { font-size:14px; color:#666; line-height:1.7; margin-bottom:32px; }
.confirm-box { background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:24px; text-align:left; margin-bottom:24px; }
.confirm-row { display:flex; justify-content:space-between; font-size:13px; padding:8px 0; border-bottom:1px solid #f5f5f5; }
.confirm-row:last-child { border:none; }
.confirm-row span:first-child { color:#666; }
.confirm-row span:last-child { font-weight:600; color:#111; }
.btn-shop-again { background:#e8520a; color:#fff; font-family:inherit; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:14px 32px; border:none; border-radius:6px; cursor:pointer; transition:background .15s; }
.btn-shop-again:hover { background:#d04808; }
/* FOOTER */
.cat-footer { background:#111; margin-top:48px; }
.cat-footer-inner { max-width:1140px; margin:0 auto; padding:32px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px; }
.cat-footer-logo { font-size:18px; font-weight:900; text-transform:uppercase; color:#fff; margin-bottom:10px; display:block; text-decoration:none; letter-spacing:-.3px; cursor:pointer; }
.cat-footer-logo span { color:#e8520a; }
.cat-footer-brand p { font-size:12px; color:#666; line-height:1.6; }
.cat-footer-col h4 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#fff; margin-bottom:12px; }
.cat-footer-col a { display:block; color:#666; text-decoration:none; font-size:12px; margin-bottom:8px; transition:color .15s; cursor:pointer; }
.cat-footer-col a:hover { color:#e8520a; }
.cat-footer-bottom { border-top:1px solid #222; padding:20px 32px; max-width:1140px; margin:0 auto; font-size:11px; color:#444; display:flex; justify-content:space-between; }
@media(max-width:900px) {
  .cat-product-wrap,.cart-wrap,.checkout-wrap { grid-template-columns:1fr; }
  .cat-features { grid-template-columns:1fr; }
  .cat-footer-inner { grid-template-columns:1fr 1fr; }
  .summary-sticky { position:static; }
  .cat-nav-links { display:none; }
}
@media(max-width:600px) {
  .cat-nav,.cat-bc,.progress-wrap { padding-left:16px; padding-right:16px; }
  .cat-product-wrap,.cat-features,.cat-tabs-wrap,.cart-wrap,.checkout-wrap,.confirm-wrap { padding:0 16px; }
  .cat-prod-name { font-size:20px; }
  .cat-price { font-size:30px; }
  .cat-purchase-top { flex-direction:column; align-items:flex-start; }
  .cat-qty-wrap { align-items:flex-start; flex-direction:column; }
  .form-row,.form-row.three { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════
   HOMEPAGE
   ═══════════════════════════════════════ */
.hp-hero { background:#f7f7f7; text-align:center; padding:64px 32px 48px; border-bottom:1px solid #e5e5e5; }
.hp-hero h1 { font-size:48px; font-weight:900; color:#111; letter-spacing:-1.5px; text-transform:uppercase; margin-bottom:14px; line-height:1.05; }
.hp-hero p  { font-size:16px; color:#666; max-width:480px; margin:0 auto 40px; line-height:1.7; }

.hp-finder { background:#fff; border:1px solid #e5e5e5; border-radius:10px; max-width:780px; margin:0 auto; padding:28px 32px 24px; }
.hp-finder-title { font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#111; margin-bottom:4px; }
.hp-finder-sub   { font-size:13px; color:#999; margin-bottom:20px; }
.hp-finder-row   { display:flex; gap:10px; margin-bottom:12px; }
.hp-finder-row select { flex:1; font-family:inherit; font-size:14px; color:#111; background:#fff; border:1px solid #d5d5d5; border-radius:6px; padding:11px 14px; outline:none; -webkit-appearance:none; appearance:none; cursor:pointer; transition:border-color .15s; }
.hp-finder-row select:focus { border-color:#e8520a; }
.hp-search-btn { background:#e8520a; color:#fff; font-family:inherit; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:11px 22px; border:none; border-radius:6px; cursor:pointer; white-space:nowrap; display:flex; align-items:center; gap:8px; transition:background .15s; flex-shrink:0; }
.hp-search-btn:hover { background:#d04808; }
.hp-search-btn svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; }
.hp-text-search { width:100%; font-family:inherit; font-size:14px; color:#111; background:#fff; border:1px solid #d5d5d5; border-radius:6px; padding:11px 16px; outline:none; transition:border-color .15s; }
.hp-text-search:focus { border-color:#e8520a; }
.hp-text-search::placeholder { color:#bbb; }

.hp-trust { background:#fff; border-top:1px solid #e5e5e5; border-bottom:1px solid #e5e5e5; padding:52px 32px; }
.hp-trust-inner { max-width:900px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; text-align:center; }
.hp-trust-icon { width:56px; height:56px; background:#fef3ee; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.hp-trust-icon svg { width:26px; height:26px; stroke:#e8520a; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hp-trust-title { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#111; margin-bottom:6px; }
.hp-trust-desc  { font-size:13px; color:#666; line-height:1.6; }

.hp-categories { padding:64px 32px; background:#f7f7f7; }
.hp-section-title { text-align:center; font-size:28px; font-weight:900; color:#111; text-transform:uppercase; letter-spacing:-0.5px; margin-bottom:8px; }
.hp-section-sub   { text-align:center; font-size:14px; color:#666; margin-bottom:40px; }
.hp-cat-grid { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.hp-cat-card { background:#fff; border:1px solid #e5e5e5; border-radius:6px; padding:20px; cursor:pointer; transition:border-color .15s, transform .15s; display:block; text-decoration:none; }
.hp-cat-card:hover { border-color:#e8520a; transform:translateY(-2px); }
.hp-cat-name { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#111; margin-bottom:4px; }
.hp-cat-count { font-size:12px; color:#999; }

.hp-featured { padding:56px 32px; background:#fff; border-top:1px solid #e5e5e5; }
.hp-featured-grid { max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.hp-featured-card { display:block; background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:18px; text-decoration:none; transition:border-color .15s, transform .15s; }
.hp-featured-card:hover { border-color:#e8520a; transform:translateY(-2px); }
.hp-featured-media { height:140px; background:#fafafa; border:1px solid #f0f0f0; border-radius:6px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; overflow:hidden; }
.hp-featured-media img { width:100%; height:100%; object-fit:contain; padding:10px; }
.hp-featured-kicker { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin-bottom:8px; }
.hp-featured-title { font-size:15px; font-weight:800; color:#111; letter-spacing:-.2px; margin-bottom:4px; }
.hp-featured-copy { font-size:13px; color:#666; line-height:1.6; }

.hp-cta { background:#1a1a1a; padding:64px 32px; text-align:center; }
.hp-cta h2 { font-size:32px; font-weight:900; color:#fff; text-transform:uppercase; letter-spacing:-0.5px; margin-bottom:12px; }
.hp-cta p  { font-size:14px; color:#aaa; margin-bottom:32px; max-width:480px; margin-left:auto; margin-right:auto; }
.hp-cta-btns { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.hp-cta-btn-primary { background:#e8520a; color:#fff; font-family:inherit; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:14px 28px; border:none; border-radius:6px; cursor:pointer; display:flex; align-items:center; gap:8px; transition:background .15s; text-decoration:none; }
.hp-cta-btn-primary:hover { background:#d04808; }
.hp-cta-btn-outline { background:transparent; color:#fff; font-family:inherit; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:13px 28px; border:2px solid #fff; border-radius:6px; cursor:pointer; display:flex; align-items:center; gap:8px; transition:all .15s; text-decoration:none; }
.hp-cta-btn-outline:hover { background:#fff; color:#111; }

.hp-footer-full { background:#111; }
.hp-footer-grid { max-width:1140px; margin:0 auto; padding:48px 32px 32px; display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.hp-footer-col h4 { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#fff; margin-bottom:14px; }
.hp-footer-col a  { display:block; color:#888; text-decoration:none; font-size:13px; margin-bottom:8px; transition:color .15s; cursor:pointer; }
.hp-footer-col a:hover { color:#e8520a; }
.hp-footer-bottom { border-top:1px solid #333; padding:20px 32px; max-width:1140px; margin:0 auto; font-size:12px; color:#555; text-align:center; }

@media(max-width:900px){
  .hp-cat-grid { grid-template-columns:repeat(2,1fr); }
  .hp-featured-grid { grid-template-columns:1fr; }
  .hp-trust-inner { grid-template-columns:1fr; }
  .hp-footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px){
  .hp-hero h1 { font-size:32px; }
  .hp-finder { padding:20px 16px; }
  .hp-finder-row { flex-wrap:wrap; }
  .hp-cat-grid { grid-template-columns:1fr; }
  .hp-footer-grid { grid-template-columns:1fr; }
}


/* Product listing cards */
.prod-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1140px; margin:0 auto; padding:0 32px 40px; }
.prod-card { background:#fff; border:1px solid #e5e5e5; border-radius:8px; overflow:hidden; cursor:pointer; transition:transform .15s,box-shadow .15s,border-color .15s; display:flex; flex-direction:column; }
.prod-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.1); border-color:#ddd; }
.prod-card-img { background:#fafafa; height:180px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-bottom:1px solid #f0f0f0; flex-shrink:0; }
.prod-card-img img { max-width:100%; max-height:170px; object-fit:contain; padding:8px; transition:transform .3s; }
.prod-card:hover .prod-card-img img { transform:scale(1.05); }
.prod-card-body { padding:14px; display:flex; flex-direction:column; flex:1; }
.prod-card-badge { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#e8520a; margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.prod-card-title { font-size:13px; font-weight:700; color:#111; line-height:1.4; margin-bottom:6px; flex:1; }
.prod-card-meta  { font-size:11px; color:#bbb; margin-bottom:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.prod-card-footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; }
.prod-card-price { font-size:20px; font-weight:900; color:#111; letter-spacing:-.5px; }
.prod-card-warr  { font-size:10px; background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; padding:3px 7px; border-radius:3px; font-weight:600; white-space:nowrap; }
.listing-header { max-width:1140px; margin:28px auto 20px; padding:0 32px; display:flex; align-items:baseline; justify-content:space-between; }
.listing-header h2 { font-size:22px; font-weight:800; color:#111; letter-spacing:-.3px; }
.listing-header span { font-size:13px; color:#999; }
.listing-filter { max-width:1140px; margin:0 auto 20px; padding:0 32px; display:flex; gap:10px; flex-wrap:wrap; }
.filter-btn { font-family:inherit; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; padding:7px 14px; border:1px solid #e5e5e5; border-radius:20px; cursor:pointer; background:#fff; color:#666; transition:all .15s; }
.filter-btn:hover,.filter-btn.active { background:#111; color:#fff; border-color:#111; }
@media(max-width:900px){ .prod-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:500px){ .prod-grid { grid-template-columns:1fr; padding:0 16px 24px; } .listing-header,.listing-filter { padding:0 16px; } }


/* OEM Part Number badge */
.cat-oem-badge{display:flex;align-items:center;gap:10px;background:#fff7ed;border:1.5px solid #e8520a;border-radius:8px;padding:8px 14px;margin-bottom:12px;width:fit-content;}
.cat-oem-badge-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9a3412;white-space:nowrap;}
.cat-oem-badge-val{font-size:15px;font-weight:800;color:#e8520a;letter-spacing:.02em;}
/* SEO keyword blurb */
.cat-seo-blurb{font-size:12.5px;color:#6b7280;margin:6px 0 10px;line-height:1.5;}

/* ── Support Page ───────────────────────────────────── */
.sp-hero { background:#111; color:#fff; text-align:center; padding:64px 32px 48px; border-bottom:2px solid #e8520a; }
.sp-hero h1 { font-size:42px; font-weight:900; letter-spacing:-1.5px; text-transform:uppercase; margin:0 0 10px; }
.sp-hero p { font-size:15px; color:#aaa; max-width:480px; margin:0 auto; line-height:1.7; }
.sp-hero em { color:#e8520a; font-style:normal; }

.sp-body { max-width:1080px; margin:0 auto; padding:56px 24px; }

/* Contact cards row */
.sp-channels { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-bottom:56px; }
.sp-channel { background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:28px 24px; text-align:center; transition:border-color .2s,transform .15s; cursor:pointer; text-decoration:none; display:block; }
.sp-channel:hover { border-color:#e8520a; transform:translateY(-2px); }
.sp-channel-icon { width:48px; height:48px; background:#f5f5f5; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.sp-channel-icon svg { width:22px; height:22px; stroke:#e8520a; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.sp-channel-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#999; margin-bottom:4px; }
.sp-channel-value { font-size:15px; font-weight:700; color:#111; word-break:break-all; text-align:center; }
.sp-channel-sub { font-size:12px; color:#999; margin-top:4px; }

/* Two-column layout */
.sp-cols { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
@media(max-width:680px){ .sp-cols { grid-template-columns:1fr; } }

/* Contact form */
.sp-form-wrap { background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:32px; }
.sp-form-wrap h2 { font-size:20px; font-weight:900; text-transform:uppercase; letter-spacing:-.5px; color:#111; margin:0 0 4px; }
.sp-form-wrap p { font-size:13px; color:#999; margin:0 0 24px; }
.sp-field { margin-bottom:16px; }
.sp-field label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#666; margin-bottom:6px; }
.sp-field input, .sp-field select, .sp-field textarea {
  width:100%; box-sizing:border-box; font-family:inherit; font-size:14px; color:#111;
  background:#fff; border:1px solid #d5d5d5; border-radius:6px; padding:10px 12px;
  outline:none; transition:border-color .15s;
}
.sp-field input:focus, .sp-field select:focus, .sp-field textarea:focus { border-color:#e8520a; }
.sp-field textarea { resize:vertical; min-height:110px; }
.sp-submit { width:100%; background:#e8520a; color:#fff; font-family:inherit; font-size:13px; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; border:none; border-radius:6px;
  padding:13px; cursor:pointer; transition:background .15s; }
.sp-submit:hover { background:#d04808; }
.sp-submit:disabled { background:#ccc; cursor:not-allowed; }
.sp-form-msg { margin-top:12px; font-size:13px; text-align:center; min-height:18px; }
.sp-form-msg.ok  { color:#166534; }
.sp-form-msg.err { color:#991b1b; }

/* FAQ */
.sp-faq-wrap h2 { font-size:20px; font-weight:900; text-transform:uppercase; letter-spacing:-.5px; color:#111; margin:0 0 20px; }
.sp-faq-item { border-bottom:1px solid #e5e5e5; }
.sp-faq-q { width:100%; background:none; border:none; text-align:left; font-family:inherit;
  font-size:14px; font-weight:700; color:#111; padding:16px 0; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:12px; }
.sp-faq-q:hover { color:#e8520a; }
.sp-faq-chevron { flex-shrink:0; transition:transform .2s; }
.sp-faq-item.open .sp-faq-chevron { transform:rotate(180deg); }
.sp-faq-a { font-size:13px; color:#555; line-height:1.7; padding:0 0 16px; display:none; }
.sp-faq-item.open .sp-faq-a { display:block; }

/* Policies strip */
.sp-policies { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-top:40px; }
.sp-policy { background:#f5f5f5; border-radius:8px; padding:20px; }
.sp-policy h3 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin:0 0 8px; }
.sp-policy p { font-size:13px; color:#555; line-height:1.6; margin:0; }


/* ── Brands Page ─────────────────────────────────────────────── */
.br-hero { background:#111; color:#fff; text-align:center; padding:64px 32px 48px; border-bottom:2px solid #e8520a; }
.br-hero h1 { font-size:42px; font-weight:900; letter-spacing:-1.5px; text-transform:uppercase; margin:0 0 10px; }
.br-hero p { font-size:15px; color:#aaa; max-width:520px; margin:0 auto; line-height:1.7; }
.br-hero em { color:#e8520a; font-style:normal; }
.br-body { max-width:1080px; margin:0 auto; padding:56px 24px; }
.br-filter { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:40px; justify-content:center; }
.br-filter-btn { font-family:inherit; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; border:1px solid #e5e5e5; background:#fff; color:#666; border-radius:20px; padding:7px 16px; cursor:pointer; transition:all .15s; }
.br-filter-btn:hover,.br-filter-btn.active { background:#111; border-color:#111; color:#fff; }
.br-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; }
.br-card { background:#fff; border:1px solid #e5e5e5; border-radius:12px; overflow:hidden; transition:box-shadow .2s,transform .15s; display:flex; flex-direction:column; }
.br-card:hover { box-shadow:0 8px 32px rgba(0,0,0,.1); transform:translateY(-3px); }
.br-card-top { height:110px; display:flex; align-items:center; justify-content:center; position:relative; }
.br-card-logo { font-size:30px; font-weight:900; letter-spacing:-1px; }
.br-card-badge { position:absolute; top:12px; right:12px; background:rgba(255,255,255,.9); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#555; border-radius:20px; padding:3px 9px; }
.br-card-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.br-card-name { font-size:16px; font-weight:900; color:#111; letter-spacing:-.3px; margin-bottom:2px; }
.br-card-tagline { font-size:12px; color:#e8520a; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; }
.br-card-desc { font-size:13px; color:#555; line-height:1.65; margin-bottom:14px; flex:1; }
.br-card-pills { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:14px; }
.br-card-pill { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:#f5f5f5; color:#666; border-radius:4px; padding:3px 8px; }
.br-card-btn { font-family:inherit; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; border:none; border-radius:6px; padding:10px; cursor:pointer; transition:background .15s; }
.br-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#e5e5e5; border:1px solid #e5e5e5; border-radius:10px; overflow:hidden; margin-bottom:56px; }
.br-stat { background:#fff; padding:24px; text-align:center; }
.br-stat-num { font-size:32px; font-weight:900; color:#111; letter-spacing:-1px; line-height:1; margin-bottom:4px; }
.br-stat-num em { color:#e8520a; font-style:normal; }
.br-stat-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#999; }
@media(max-width:600px){ .br-stats { grid-template-columns:repeat(2,1fr); } .br-grid { grid-template-columns:1fr; } }


/* ── Legal Pages ─────────────────────────────────────────────── */
.lg-hero { background:#111; color:#fff; padding:52px 32px 40px; border-bottom:2px solid #e8520a; }
.lg-hero-inner { max-width:760px; margin:0 auto; }
.lg-hero h1 { font-size:36px; font-weight:900; letter-spacing:-1px; text-transform:uppercase; margin:0 0 8px; }
.lg-hero-meta { font-size:12px; color:#777; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.lg-hero-meta em { color:#e8520a; font-style:normal; }

.lg-body { max-width:760px; margin:0 auto; padding:48px 24px 64px; }
.lg-toc { background:#f5f5f5; border-radius:8px; padding:20px 24px; margin-bottom:40px; }
.lg-toc-title { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#999; margin-bottom:10px; }
.lg-toc a { display:block; font-size:13px; color:#111; text-decoration:none; padding:4px 0; border-bottom:1px solid #e5e5e5; font-weight:600; }
.lg-toc a:last-child { border-bottom:none; }
.lg-toc a:hover { color:#e8520a; }

.lg-section { margin-bottom:36px; }
.lg-section h2 { font-size:18px; font-weight:900; text-transform:uppercase; letter-spacing:-.3px; color:#111; margin:0 0 12px; padding-bottom:10px; border-bottom:2px solid #e8520a; display:inline-block; }
.lg-section h3 { font-size:14px; font-weight:700; color:#111; margin:18px 0 6px; }
.lg-section p { font-size:14px; color:#444; line-height:1.8; margin:0 0 12px; }
.lg-section ul { padding-left:20px; margin:0 0 12px; }
.lg-section ul li { font-size:14px; color:#444; line-height:1.8; margin-bottom:4px; }
.lg-section a { color:#e8520a; text-decoration:none; font-weight:600; }
.lg-section a:hover { text-decoration:underline; }

.lg-callout { background:#fff8f5; border-left:3px solid #e8520a; border-radius:0 6px 6px 0; padding:14px 18px; margin:16px 0; }
.lg-callout p { margin:0; font-size:13px; color:#444; line-height:1.7; }
.lg-callout strong { color:#e8520a; }

.lg-table { width:100%; border-collapse:collapse; margin:16px 0; font-size:13px; }
.lg-table th { background:#f5f5f5; font-weight:700; text-transform:uppercase; font-size:11px; letter-spacing:.08em; color:#666; padding:10px 12px; text-align:left; border-bottom:1px solid #e5e5e5; }
.lg-table td { padding:10px 12px; border-bottom:1px solid #f0f0f0; color:#444; vertical-align:top; }
.lg-table tr:last-child td { border-bottom:none; }
.lg-table .badge { display:inline-block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; border-radius:3px; padding:2px 6px; }
.lg-table .badge-green { background:#dcfce7; color:#166534; }
.lg-table .badge-orange { background:#fff7ed; color:#c2410c; }


/* ── Company Pages ───────────────────────────────────────────── */
.cp-hero { background:#111; color:#fff; padding:72px 32px 56px; border-bottom:2px solid #e8520a; text-align:center; }
.cp-hero h1 { font-size:46px; font-weight:900; letter-spacing:-2px; text-transform:uppercase; margin:0 0 12px; }
.cp-hero p { font-size:16px; color:#aaa; max-width:560px; margin:0 auto; line-height:1.75; }
.cp-hero em { color:#e8520a; font-style:normal; }
.cp-hero-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:#e8520a; margin-bottom:16px; }

.cp-body { max-width:1080px; margin:0 auto; padding:56px 24px 72px; }
.cp-section { margin-bottom:64px; }
.cp-section-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:#e8520a; margin-bottom:8px; }
.cp-section h2 { font-size:30px; font-weight:900; letter-spacing:-1px; text-transform:uppercase; color:#111; margin:0 0 16px; }
.cp-section p { font-size:15px; color:#444; line-height:1.8; margin:0 0 16px; max-width:680px; }
.cp-section-wide p { max-width:none; }
.cp-divider { border:none; border-top:1px solid #e5e5e5; margin:56px 0; }

/* Two-col */
.cp-two-col { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.cp-two-col.reverse { direction:rtl; }
.cp-two-col.reverse > * { direction:ltr; }
@media(max-width:680px){ .cp-two-col { grid-template-columns:1fr; } .cp-two-col.reverse { direction:ltr; } }

/* Stat cards */
.cp-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; background:#e5e5e5; border:1px solid #e5e5e5; border-radius:12px; overflow:hidden; margin:40px 0; }
.cp-stat { background:#fff; padding:28px 20px; text-align:center; }
.cp-stat-num { font-size:36px; font-weight:900; color:#111; letter-spacing:-1.5px; line-height:1; }
.cp-stat-num em { color:#e8520a; font-style:normal; }
.cp-stat-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#999; margin-top:6px; }

/* Team grid */
.cp-team { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:20px; margin-top:32px; }
.cp-team-card { background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:24px 20px; text-align:center; }
.cp-team-avatar { width:72px; height:72px; border-radius:50%; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:900; color:#fff; }
.cp-team-name { font-size:15px; font-weight:700; color:#111; margin-bottom:2px; }
.cp-team-role { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#e8520a; margin-bottom:8px; }
.cp-team-bio { font-size:12px; color:#666; line-height:1.6; }

/* Value cards */
.cp-values { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin-top:32px; }
.cp-value { background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:24px; }
.cp-value-icon { font-size:28px; margin-bottom:12px; }
.cp-value h3 { font-size:14px; font-weight:900; text-transform:uppercase; letter-spacing:-.2px; color:#111; margin:0 0 8px; }
.cp-value p { font-size:13px; color:#555; line-height:1.65; margin:0; }

/* Job cards */
.cp-jobs { display:flex; flex-direction:column; gap:12px; }
.cp-job { background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; transition:border-color .15s; }
.cp-job:hover { border-color:#e8520a; }
.cp-job-left h3 { font-size:15px; font-weight:700; color:#111; margin:0 0 4px; }
.cp-job-meta { display:flex; gap:8px; flex-wrap:wrap; }
.cp-job-tag { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; border-radius:4px; padding:3px 8px; }
.cp-job-tag-dept { background:#fff8f5; color:#c2410c; }
.cp-job-tag-type { background:#f0f9ff; color:#0369a1; }
.cp-job-tag-loc  { background:#f5f5f5; color:#555; }
.cp-job-btn { flex-shrink:0; font-family:inherit; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:#111; color:#fff; border:none; border-radius:6px; padding:10px 18px; cursor:pointer; transition:background .15s; white-space:nowrap; }
.cp-job-btn:hover { background:#e8520a; }
.cp-no-jobs { background:#f5f5f5; border-radius:10px; padding:40px; text-align:center; }
.cp-no-jobs p { font-size:14px; color:#666; margin:0; }

/* Blog */
.cp-blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:20px; }
.cp-post { background:#fff; border:1px solid #e5e5e5; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s,transform .15s; }
.cp-post:hover { box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.cp-post-img { height:160px; display:flex; align-items:center; justify-content:center; font-size:48px; }
.cp-post-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.cp-post-cat { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin-bottom:6px; }
.cp-post-title { font-size:16px; font-weight:900; color:#111; letter-spacing:-.3px; margin-bottom:8px; line-height:1.3; }
.cp-post-excerpt { font-size:13px; color:#555; line-height:1.65; flex:1; margin-bottom:14px; }
.cp-post-meta { font-size:11px; color:#999; font-weight:600; }
.cp-post-read { margin-top:12px; font-family:inherit; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:none; border:1px solid #e5e5e5; border-radius:6px; padding:8px 14px; cursor:pointer; color:#111; transition:all .15s; }
.cp-post-read:hover { background:#111; color:#fff; border-color:#111; }

/* Partner grid */
.cp-partner-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.cp-partner-card { background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:28px; display:flex; flex-direction:column; gap:12px; transition:border-color .15s; }
.cp-partner-card:hover { border-color:#e8520a; }
.cp-partner-logo { font-size:22px; font-weight:900; letter-spacing:-1px; }
.cp-partner-type { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; }
.cp-partner-desc { font-size:13px; color:#555; line-height:1.65; flex:1; }
.cp-partner-link { font-size:12px; font-weight:700; color:#111; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; }
.cp-partner-link:hover { color:#e8520a; }

/* CTA banner */
.cp-cta { background:#111; color:#fff; border-radius:12px; padding:40px 36px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:48px; }
.cp-cta h3 { font-size:22px; font-weight:900; text-transform:uppercase; letter-spacing:-0.5px; margin:0 0 6px; }
.cp-cta p { font-size:14px; color:#aaa; margin:0; }
.cp-cta-btn { flex-shrink:0; font-family:inherit; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:#e8520a; color:#fff; border:none; border-radius:8px; padding:14px 28px; cursor:pointer; transition:background .15s; white-space:nowrap; }
.cp-cta-btn:hover { background:#d04808; }
@media(max-width:600px){ .cp-cta { flex-direction:column; text-align:center; } }


/* ── Blog Article Pages ──────────────────────────────────────── */
.ba-hero { background:#111; color:#fff; padding:64px 32px 48px; border-bottom:2px solid #e8520a; }
.ba-hero-inner { max-width:760px; margin:0 auto; }
.ba-cat { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:#e8520a; margin-bottom:14px; }
.ba-hero h1 { font-size:38px; font-weight:900; letter-spacing:-1.5px; line-height:1.15; margin:0 0 16px; }
.ba-hero-meta { display:flex; align-items:center; gap:16px; font-size:12px; color:#777; flex-wrap:wrap; }
.ba-hero-meta strong { color:#aaa; }
.ba-hero-excerpt { font-size:16px; color:#aaa; line-height:1.75; max-width:640px; margin-top:20px; }

.ba-body { max-width:760px; margin:0 auto; padding:48px 24px 72px; }
.ba-body h2 { font-size:22px; font-weight:900; text-transform:uppercase; letter-spacing:-.5px; color:#111; margin:40px 0 12px; padding-bottom:8px; border-bottom:2px solid #e8520a; display:inline-block; }
.ba-body h3 { font-size:16px; font-weight:700; color:#111; margin:24px 0 8px; }
.ba-body p { font-size:15px; color:#333; line-height:1.85; margin:0 0 18px; }
.ba-body ul, .ba-body ol { padding-left:22px; margin:0 0 18px; }
.ba-body ul li, .ba-body ol li { font-size:15px; color:#333; line-height:1.8; margin-bottom:6px; }
.ba-body strong { color:#111; }
.ba-body a { color:#e8520a; font-weight:600; text-decoration:none; }
.ba-body a:hover { text-decoration:underline; }

.ba-callout { background:#fff8f5; border-left:3px solid #e8520a; border-radius:0 8px 8px 0; padding:16px 20px; margin:20px 0; }
.ba-callout p { margin:0; font-size:14px; color:#444; line-height:1.75; }
.ba-callout strong { color:#c2410c; }

.ba-table { width:100%; border-collapse:collapse; margin:20px 0; font-size:14px; }
.ba-table th { background:#111; color:#fff; font-weight:700; text-transform:uppercase; font-size:11px; letter-spacing:.08em; padding:10px 14px; text-align:left; }
.ba-table td { padding:10px 14px; border-bottom:1px solid #f0f0f0; color:#333; vertical-align:top; }
.ba-table tr:nth-child(even) td { background:#fafafa; }
.ba-table tr:last-child td { border-bottom:none; }

.ba-img-placeholder { background:#f5f5f5; border-radius:10px; height:280px; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:28px 0; color:#999; border:1px solid #e5e5e5; }
.ba-img-placeholder span { font-size:48px; margin-bottom:8px; }
.ba-img-placeholder p { font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin:0; }

.ba-author { display:flex; align-items:center; gap:16px; background:#f5f5f5; border-radius:10px; padding:20px 24px; margin:40px 0; }
.ba-author-avatar { width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:900; color:#fff; flex-shrink:0; }
.ba-author-name { font-size:14px; font-weight:700; color:#111; margin-bottom:2px; }
.ba-author-role { font-size:12px; color:#e8520a; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
.ba-author-bio { font-size:12px; color:#666; line-height:1.6; margin:0; }

.ba-tags { display:flex; gap:6px; flex-wrap:wrap; margin:24px 0; }
.ba-tag { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:#f5f5f5; color:#555; border-radius:4px; padding:4px 10px; }

.ba-related { margin-top:48px; padding-top:32px; border-top:1px solid #e5e5e5; }
.ba-related h3 { font-size:16px; font-weight:900; text-transform:uppercase; letter-spacing:-.3px; color:#111; margin:0 0 16px; }
.ba-related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.ba-related-card { background:#fff; border:1px solid #e5e5e5; border-radius:8px; padding:16px; cursor:pointer; transition:border-color .15s; }
.ba-related-card:hover { border-color:#e8520a; }
.ba-related-cat { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin-bottom:4px; }
.ba-related-title { font-size:13px; font-weight:700; color:#111; line-height:1.4; }

.ba-back { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#666; cursor:pointer; margin-bottom:32px; }
.ba-back:hover { color:#e8520a; }
.ba-back svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.5; stroke-linecap:round; }


/* ── Sitemap Page ────────────────────────────────────────────── */
.sm-hero { background:#111; color:#fff; padding:52px 32px 40px; border-bottom:2px solid #e8520a; }
.sm-hero-inner { max-width:900px; margin:0 auto; }
.sm-hero h1 { font-size:36px; font-weight:900; letter-spacing:-1px; text-transform:uppercase; margin:0 0 8px; }
.sm-hero-meta { font-size:13px; color:#666; }
.sm-hero-meta em { color:#e8520a; font-style:normal; }
.sm-body { max-width:900px; margin:0 auto; padding:48px 24px 72px; }
.sm-xml-link { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:#f5f5f5; border:1px solid #e5e5e5; border-radius:6px; padding:10px 16px; color:#111; text-decoration:none; margin-bottom:40px; }
.sm-xml-link:hover { border-color:#e8520a; color:#e8520a; }
.sm-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:32px; margin-bottom:40px; }
.sm-section h2 { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid #e5e5e5; }
.sm-section ul { list-style:none; padding:0; margin:0; }
.sm-section ul li { font-size:13px; padding:5px 0; border-bottom:1px solid #f5f5f5; }
.sm-section ul li:last-child { border-bottom:none; }
.sm-prod-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.sm-prod-section h2 { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid #e5e5e5; }
.sm-prod-section ul { list-style:none; padding:0; margin:0; max-height:420px; overflow-y:auto; }
.sm-prod-section ul li { font-size:12px; padding:4px 0; border-bottom:1px solid #f5f5f5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media(max-width:600px){ .sm-prod-grid { grid-template-columns:1fr; } }


/* ── Sitemap Page ────────────────────────────────────────────── */
.sm-hero { background:#111; color:#fff; padding:52px 32px 40px; border-bottom:2px solid #e8520a; }
.sm-hero-inner { max-width:900px; margin:0 auto; }
.sm-hero h1 { font-size:36px; font-weight:900; letter-spacing:-1px; text-transform:uppercase; margin:0 0 8px; }
.sm-hero-meta { font-size:13px; color:#666; }
.sm-hero-meta em { color:#e8520a; font-style:normal; }
.sm-body { max-width:900px; margin:0 auto; padding:48px 24px 72px; }
.sm-xml-link { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:#f5f5f5; border:1px solid #e5e5e5; border-radius:6px; padding:10px 16px; color:#111; text-decoration:none; margin-bottom:40px; }
.sm-xml-link:hover { border-color:#e8520a; color:#e8520a; }
.sm-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:32px; margin-bottom:40px; }
.sm-section h2 { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid #e5e5e5; }
.sm-section ul { list-style:none; padding:0; margin:0; }
.sm-section ul li { font-size:13px; padding:5px 0; border-bottom:1px solid #f5f5f5; }
.sm-section ul li:last-child { border-bottom:none; }
.sm-prod-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.sm-prod-section h2 { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e8520a; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid #e5e5e5; }
.sm-prod-section ul { list-style:none; padding:0; margin:0; max-height:420px; overflow-y:auto; border:1px solid #f0f0f0; border-radius:6px; padding:8px; }
.sm-prod-section ul li { font-size:12px; padding:3px 0; border-bottom:1px solid #f5f5f5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media(max-width:600px){ .sm-prod-grid { grid-template-columns:1fr; } }


/* ── Sitemap Page ────────────────────────────────────────────── */
.sm-hero { background:#111; color:#fff; padding:52px 32px 40px; border-bottom:2px solid #e8520a; }
.sm-hero-inner { max-width:960px; margin:0 auto; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.sm-hero h1 { font-size:36px; font-weight:900; letter-spacing:-1px; text-transform:uppercase; margin:0 0 6px; }
.sm-hero p { font-size:13px; color:#777; margin:0; }
.sm-hero-stats { text-align:right; flex-shrink:0; }
.sm-hero-count { font-size:32px; font-weight:900; color:#e8520a; letter-spacing:-1px; line-height:1; }
.sm-hero-count-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#555; }

.sm-body { max-width:960px; margin:0 auto; padding:48px 24px 72px; }
.sm-cols { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; margin-bottom:48px; }
.sm-group { background:#fff; border:1px solid #e5e5e5; border-radius:10px; overflow:hidden; }
.sm-group-head { background:#111; color:#fff; padding:12px 18px; display:flex; align-items:center; gap:10px; }
.sm-group-icon { font-size:16px; }
.sm-group-title { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.sm-group-count { margin-left:auto; font-size:11px; color:#666; background:#333; border-radius:20px; padding:2px 8px; font-weight:700; }
.sm-links { padding:8px 0; }
.sm-link { display:flex; align-items:center; gap:8px; padding:9px 18px; text-decoration:none; transition:background .1s; cursor:pointer; }
.sm-link:hover { background:#f5f5f5; }
.sm-link-dot { width:5px; height:5px; border-radius:50%; background:#e8520a; flex-shrink:0; }
.sm-link-text { font-size:13px; color:#111; font-weight:500; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sm-link-badge { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#999; flex-shrink:0; }

.sm-products-wrap { margin-top:8px; }
.sm-products-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.sm-products-head h2 { font-size:20px; font-weight:900; text-transform:uppercase; letter-spacing:-.5px; color:#111; margin:0; }
.sm-search { font-family:inherit; font-size:13px; border:1px solid #d5d5d5; border-radius:6px; padding:8px 12px; outline:none; width:220px; transition:border-color .15s; }
.sm-search:focus { border-color:#e8520a; }
.sm-products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:8px; }
.sm-prod-link { display:flex; align-items:center; gap:8px; padding:10px 14px; background:#fff; border:1px solid #e5e5e5; border-radius:7px; text-decoration:none; transition:border-color .15s; cursor:pointer; }
.sm-prod-link:hover { border-color:#e8520a; }
.sm-prod-name { font-size:12px; font-weight:600; color:#111; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sm-prod-sku { font-size:10px; color:#999; font-weight:700; flex-shrink:0; }
.sm-xml-strip { background:#f5f5f5; border:1px solid #e5e5e5; border-radius:8px; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:40px; flex-wrap:wrap; }
.sm-xml-strip p { font-size:13px; color:#555; margin:0; }
.sm-xml-strip strong { color:#111; }
.sm-xml-btn { font-family:inherit; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:#111; color:#fff; border:none; border-radius:6px; padding:9px 18px; cursor:pointer; white-space:nowrap; transition:background .15s; }
.sm-xml-btn:hover { background:#e8520a; }
@media(max-width:580px){ .sm-hero-inner { align-items:flex-start; } .sm-hero-stats { text-align:left; } }


/* ── PayPal Integration ──────────────────────────────────────── */
.pp-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%;
  background:#ffc439; color:#003087; font-family:inherit; font-size:14px; font-weight:700;
  border:none; border-radius:6px; padding:14px; cursor:pointer; transition:background .15s; margin-top:12px; }
.pp-btn:hover { background:#f0b429; }
.pp-btn svg { width:80px; height:20px; flex-shrink:0; }

body{min-height:100vh}
a{text-decoration:none}
.hp-search-form{margin-top:14px}
.hp-search-form .hp-text-search{width:100%}
.cat-page-shell{padding-bottom:48px}
.cat-gallery-static .cat-gal-main img{width:100%;height:100%;object-fit:contain;padding:10px}
.cat-thumb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:10px;margin-top:14px}
.cat-thumb-grid .cat-thumb{display:flex;align-items:center;justify-content:center;min-height:74px}
.cat-thumb-grid .cat-thumb img{width:100%;height:100%;object-fit:contain}
.cat-card h1.cat-seo-h1{font-size:34px;line-height:1.08;margin:10px 0 10px}
.cat-card .cat-prod-subtle{margin:0 0 12px;color:#666;font-size:14px}
.cat-spec-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}
.cat-spec-chip{padding:12px 14px;border:1px solid #ececec;border-radius:12px;background:#fff}
.cat-spec-chip strong{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#777;margin-bottom:6px}
.seo-sections{display:grid;gap:18px;margin-top:24px}
.seo-section{background:#fff;border:1px solid #ececec;border-radius:18px;padding:24px}
.seo-section h2{margin:0 0 14px;font-size:24px;line-height:1.15}
.seo-section p{margin:0 0 14px}
.seo-section p:last-child{margin-bottom:0}
.seo-section .compat-links a{font-weight:700}
.seo-section .compat-links{display:flex;flex-wrap:wrap;gap:10px 12px}
.seo-section .compat-links a{color:#111}
.seo-section .compat-links a:hover{text-decoration:underline}
.cat-link-hub{margin-top:32px}
.cat-link-hub .compat-links{display:flex;flex-wrap:wrap;gap:10px 12px}
.cat-link-hub .compat-links a{color:#111;font-weight:700}
.cat-link-hub .compat-links a:hover{text-decoration:underline}
.cat-bc a{color:inherit}
.cat-bc a:hover{text-decoration:underline}
.listing-header p{margin:8px 0 0;color:#666}
.prod-card-link{color:inherit;display:block}
.prod-card-link .prod-card{height:100%}
.prod-card-img img{width:100%;height:100%;object-fit:contain}
.cat-generic-wrap{max-width:960px;margin:0 auto;padding:34px 24px 56px}
.cat-generic-card{background:#fff;border:1px solid #ececec;border-radius:18px;padding:28px}
.cat-generic-card h1{margin:0 0 12px}
.cat-generic-card p{margin:0 0 12px;color:#444}
.cat-mini-link-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin-top:18px}
.cat-mini-link-list a{color:#111}
.cat-mini-link-list a:hover{text-decoration:underline}
@media (max-width: 900px){
  .cat-card h1.cat-seo-h1{font-size:28px}
}
