/* Reusable GM Parts Explorer — original popup and lens styling retained. */
.gmpex .gmpex-canvas{position:relative;width:100%;min-width:720px;}
.gmpex .gmpex-canvas>img{max-width:none;}
.gmpex .gmpex-pin{white-space:nowrap;min-width:27px;width:auto!important;padding:0 5px!important;}
.gmpex .gmpex-primary[hidden]{display:none!important;}

    .gmpex{max-width:1600px;margin:24px auto;font-family:inherit}
    .gmpex .gmpex-note{font-size:13px;color:#64748b}
    .gmpex .gmpex-stage{position:relative;overflow:auto;border:1px solid #d9dee5;border-radius:10px;background:#fff}
    .gmpex .gmpex-canvas>img{display:block;width:100%;height:auto;min-width:720px}
    .gmpex .gmpex-pin{position:absolute;transform:translate(-50%,-50%);background:#dc2626;color:white;border:2px solid white;border-radius:50%;width:27px;height:27px;font-size:11px;line-height:1.2;cursor:pointer;box-shadow:0 2px 9px #0005;z-index:2;padding:0}
    .gmpex .gmpex-lens{position:absolute;display:none;width:110px;height:110px;border:2px solid #fff;border-radius:50%;box-shadow:0 5px 16px #0003;pointer-events:none;z-index:5;background-color:#fff;background-repeat:no-repeat;transform:translate(-50%,-50%)}
    .gmpex .gmpex-canvas.gmpex-hovering{cursor:crosshair}
    .gmpex .gmpex-dialog{box-sizing:border-box;border:1px solid #e5e7eb;border-radius:20px;max-width:780px;width:calc(100% - 32px);padding:0;color:#111827;background:#fff;box-shadow:0 28px 90px #0f172a55;max-height:min(90vh,900px);overflow-y:auto}
    .gmpex .gmpex-dialog::backdrop{background:#0f172ab8;backdrop-filter:blur(3px)}
    .gmpex .gmpex-modal-header{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;border-bottom:1px solid #eef0f4;gap:12px}
    .gmpex .gmpex-eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;color:#64748b}
    .gmpex .gmpex-modal-header form{margin:0}
    .gmpex .gmpex-close{display:grid;place-items:center;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#334155;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer;padding:0}
    .gmpex .gmpex-close:hover{background:#f1f5f9}
    .gmpex .gmpex-card{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);gap:27px;padding:28px 26px}
    .gmpex .gmpex-product-visual{background:#f8fafc;border:1px solid #eef2f7;border-radius:15px;padding:24px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}
    .gmpex .gmpex-product-img{display:block;max-width:100%;width:100%;height:225px;object-fit:contain;mix-blend-mode:multiply}
    .gmpex .gmpex-image-caption{margin-top:12px;font-size:11px;color:#94a3b8}
    .gmpex .gmpex-product-info{min-width:0}
    .gmpex .gmpex-reference{font-size:12px;color:#64748b;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
    .gmpex .gmpex-reference strong{font-size:13px;color:#0f172a}
    .gmpex .gmpex-demo-tag{font-size:10px;color:#9a6700;background:#fff6dc;border-radius:20px;padding:3px 8px}
    .gmpex .gmpex-card h3{font-size:23px;line-height:1.24;letter-spacing:-.02em;margin:12px 0 9px;color:#0f172a;font-weight:750}
    .gmpex .gmpex-sku{font-size:12px;color:#64748b}
    .gmpex .gmpex-sku strong{color:#334155}
    .gmpex .gmpex-price{font-size:29px;font-weight:800;color:#0f172a;margin:17px 0 9px;line-height:1.3}
    .gmpex .gmpex-price .amount{font-size:inherit}
    .gmpex .gmpex-stock{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650;padding:5px 10px;border-radius:20px;background:#f1f5f9;color:#475569}
    .gmpex .gmpex-stock.is-available{background:#ecfdf5;color:#047857}
    .gmpex .gmpex-stock-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
    .gmpex .gmpex-description-label{font-size:10px;letter-spacing:.1em;font-weight:750;color:#94a3b8;margin-top:21px}
    .gmpex .gmpex-description{font-size:13px;line-height:1.7;color:#475569;margin:7px 0 19px}
    .gmpex .gmpex-actions{display:flex;gap:9px;flex-wrap:wrap}
    .gmpex .gmpex-actions a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:43px;padding:10px 15px;border-radius:9px;text-decoration:none!important;font-size:13px;font-weight:650;transition:background .15s ease}
    .gmpex .gmpex-actions .gmpex-primary{background:#111827;color:white!important;border:1px solid #111827}
    .gmpex .gmpex-actions .gmpex-primary:hover{background:#334155}
    .gmpex .gmpex-actions .gmpex-secondary{border:1px solid #cbd5e1;color:#111827!important;background:#fff}
    .gmpex .gmpex-actions .gmpex-secondary:hover{background:#f8fafc}
    .gmpex .gmpex-modal-footer{padding:14px 26px;border-top:1px solid #eef0f4;font-size:11px;color:#94a3b8}
    @media(max-width:600px){.gmpex .gmpex-card{grid-template-columns:1fr;padding:17px;gap:16px}.gmpex .gmpex-product-visual{padding:12px}.gmpex .gmpex-product-img{height:155px}.gmpex .gmpex-card h3{font-size:20px}.gmpex .gmpex-price{font-size:24px}.gmpex .gmpex-modal-header{padding:12px 17px}.gmpex .gmpex-modal-footer{padding:12px 17px}}
    @media(hover:none),(pointer:coarse){.gmpex .gmpex-lens{display:none!important}}
    
/* v0.3.0 Compact reference markers: avoids masking adjacent printed numbers.
   This overrides the legacy 27px pill while retaining the original popup and lens. */
.gmpex .gmpex-canvas .gmpex-pin{
    box-sizing:border-box!important;
    width:auto!important;
    min-width:19px!important;
    height:19px!important;
    min-height:19px!important;
    padding:0 3px!important;
    border:1px solid #fff!important;
    border-radius:999px!important;
    background:#c7252c!important;
    color:#fff!important;
    font-size:9px!important;
    font-weight:700!important;
    line-height:17px!important;
    box-shadow:0 1px 4px #0006!important;
    letter-spacing:-.02em;
    z-index:3;
}
.gmpex .gmpex-canvas .gmpex-pin:hover{
    background:#951b22!important;
    box-shadow:0 2px 7px #0008!important;
    z-index:4;
}
.gmpex .gmpex-canvas .gmpex-pin:focus-visible{
    outline:2px solid #0f172a!important;
    outline-offset:2px;
    z-index:5;
}
