/* Scoped selectors and prefixed classes avoid theme/app selector collisions. */
#parts-diagram-proxy.pdp-proxy { width: 100%; max-width: 100%; min-width: 0; font-family: inherit; color: inherit; background: transparent; letter-spacing: normal; }
#parts-diagram-proxy.pdp-proxy *, #parts-diagram-proxy.pdp-proxy *::before, #parts-diagram-proxy.pdp-proxy *::after { box-sizing: border-box; letter-spacing: normal; }
#parts-diagram-proxy.pdp-proxy [hidden] { display: none !important; }
#parts-diagram-proxy.pdp-proxy :where(h1,h2,h3,p,figure,table,thead,tbody,tr,th,td,button,input,summary) { all: revert; box-sizing: border-box; margin: 0; padding: 0; font-family: inherit; text-transform: none; }
#parts-diagram-proxy.pdp-proxy a { color: var(--pdp-link); text-decoration: none; }
#parts-diagram-proxy.pdp-proxy a:hover { color: var(--pdp-link-hover); text-decoration: underline; }
#parts-diagram-proxy.pdp-proxy .pdp-banner { display: block; width: 100%; margin: 0; padding: 0; }
#parts-diagram-proxy.pdp-proxy .pdp-banner img { display: block; position: static; width: 100%; max-width: 100%; height: auto; min-height: 0; max-height: none; object-fit: contain; filter: none; opacity: 1; }
#parts-diagram-proxy.pdp-proxy .pdp-content { width: 100%; max-width: 1600px; margin: 0 auto; padding: 24px; display: flex; flex-direction: column; gap: 24px; min-width: 0; }
#parts-diagram-proxy.pdp-proxy .pdp-title { position: static; font-family: var(--font-heading-family, inherit); font-size: 2rem; line-height: 1.2; font-weight: 600; color: inherit; text-shadow: none; overflow-wrap: break-word; }
#parts-diagram-proxy.pdp-proxy h2 { font-family: var(--font-heading-family, inherit); font-size: 1.5rem; line-height: 1.3; font-weight: 600; color: inherit; margin-bottom: 16px; }
.pdp-standalone #parts-diagram-proxy.pdp-proxy :is(h1,h2) { font-family: var(--h-family, inherit); color: var(--h-color, inherit); }
.pdp-standalone #parts-diagram-proxy.pdp-proxy .pdp-title { font-size: var(--h-size, 2rem); }
#parts-diagram-proxy.pdp-proxy .pdp-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--pdp-breadcrumb-size); line-height: 1.5; }
#parts-diagram-proxy.pdp-proxy .pdp-breadcrumb a { color: var(--pdp-breadcrumb-link); }
#parts-diagram-proxy.pdp-proxy .pdp-breadcrumb a:hover { color: var(--pdp-breadcrumb-hover); }
#parts-diagram-proxy.pdp-proxy .pdp-breadcrumb [aria-current] { color: var(--pdp-breadcrumb-current); }
#parts-diagram-proxy.pdp-proxy .pdp-children { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); gap: 12px; }
#parts-diagram-proxy.pdp-proxy .pdp-children a { display: block; border: 1px solid #d4d4d4; padding: 12px; line-height: 1.5; overflow-wrap: break-word; }
#parts-diagram-proxy.pdp-proxy .pdp-richtext { min-width: 0; line-height: 1.6; overflow-wrap: break-word; }
#parts-diagram-proxy.pdp-proxy .pdp-richtext p { margin: 0 0 12px; }
#parts-diagram-proxy.pdp-proxy .pdp-richtext img { max-width: 100%; height: auto; }
#parts-diagram-proxy.pdp-proxy .pdp-diagram { min-width: 0; }
#parts-diagram-proxy.pdp-proxy .pdp-diagram-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; align-items: start; }
#parts-diagram-proxy.pdp-proxy .pdp-image-viewport { position: relative; width: 100%; min-width: 0; height: auto; min-height: 0; overflow: hidden; align-self: start; border: 1px solid #e5e5e5; touch-action: pan-y; }
#parts-diagram-proxy.pdp-proxy .pdp-image-layer { position: relative; width: 100%; height: auto; min-height: 0; }
#parts-diagram-proxy.pdp-proxy .pdp-diagram-image { display: block; width: 100%; height: auto; min-height: 0; max-height: none; object-fit: contain; opacity: 1; user-select: none; }
#parts-diagram-proxy.pdp-proxy .pdp-hotspot { position: absolute; display: block; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 2px solid transparent; border-radius: 50%; background: transparent; transform: translate(-50%,-50%); cursor: pointer; z-index: 2; }
#parts-diagram-proxy.pdp-proxy .pdp-hotspot.pdp-is-highlighted { border-color: #df2222; box-shadow: 0 0 0 2px #ffffff; background: #ffdddd55; }
#parts-diagram-proxy.pdp-proxy .pdp-zoom-controls { position: absolute; top: 8px; right: 8px; z-index: 0; display: flex; flex-direction: column; gap: 4px; }
#parts-diagram-proxy.pdp-proxy .pdp-zoom-controls button { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #d4d4d4; border-radius: 4px; background: #fff; color: #222; font-size: 22px; line-height: 1; cursor: pointer; }
#parts-diagram-proxy.pdp-proxy .pdp-parts { min-width: 0; width: 100%; }
#parts-diagram-proxy.pdp-proxy .pdp-parts-toolbar { display: flex; align-items: center; flex-wrap: wrap; column-gap: 24px; row-gap: 12px; margin-bottom: 12px; }
#parts-diagram-proxy.pdp-proxy .pdp-parts-toolbar-bottom { margin-top: 16px; margin-bottom: 0; }
#parts-diagram-proxy.pdp-proxy .pdp-parts-toolbar label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 13px; }
#parts-diagram-proxy.pdp-proxy .pdp-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; position: static; border: 1px solid transparent; border-radius: var(--pdp-button-radius); min-width: 0; min-height: 36px; padding: var(--pdp-button-padding); background: var(--pdp-button); color: var(--pdp-button-text); font-size: 13px; line-height: 1.3; font-weight: 600; cursor: pointer; white-space: normal; }
#parts-diagram-proxy.pdp-proxy .pdp-button::before, #parts-diagram-proxy.pdp-proxy .pdp-button::after { content: none; }
#parts-diagram-proxy.pdp-proxy .pdp-button:hover:not(:disabled) { background: var(--pdp-button-hover); color: var(--pdp-button-hover-text); }
#parts-diagram-proxy.pdp-proxy .pdp-button:disabled { opacity: .55; cursor: not-allowed; }
#parts-diagram-proxy.pdp-proxy .pdp-table { display: table; width: 100%; max-width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; line-height: 1.45; color: inherit; background: transparent; box-shadow: none; border: 0; }
#parts-diagram-proxy.pdp-proxy .pdp-table thead { display: table-header-group; }
#parts-diagram-proxy.pdp-proxy .pdp-table tbody { display: table-row-group; }
#parts-diagram-proxy.pdp-proxy .pdp-table tr { display: table-row; background: transparent; border: 0; }
#parts-diagram-proxy.pdp-proxy .pdp-table th, #parts-diagram-proxy.pdp-proxy .pdp-table td { display: table-cell; padding: 10px 6px; border: 0; border-bottom: 1px solid #dedede; text-align: left; vertical-align: top; overflow-wrap: break-word; white-space: normal; background: transparent; }
#parts-diagram-proxy.pdp-proxy .pdp-table th { font-size: 11px; font-weight: 600; }
#parts-diagram-proxy.pdp-proxy .pdp-table th:first-child { width: 36%; }
#parts-diagram-proxy.pdp-proxy .pdp-table th:last-child { width: 21%; }
#parts-diagram-proxy.pdp-proxy .pdp-part.pdp-is-highlighted td { background: #e6f7ff; }
#parts-diagram-proxy.pdp-proxy .pdp-callout { display: flex; align-items: center; gap: 6px; min-height: 20px; margin-bottom: 4px; font-weight: 600; }
#parts-diagram-proxy.pdp-proxy input[type=checkbox] { appearance: auto; display: inline-block; position: static; width: 14px; height: 14px; min-width: 14px; padding: 0; margin: 0; opacity: 1; accent-color: var(--pdp-button); cursor: pointer; }
#parts-diagram-proxy.pdp-proxy .pdp-product-link, #parts-diagram-proxy.pdp-proxy .pdp-product-title { display: block; line-height: 1.4; word-break: normal; overflow-wrap: break-word; }
#parts-diagram-proxy.pdp-proxy .pdp-variant, #parts-diagram-proxy.pdp-proxy .pdp-sku { display: block; margin-top: 4px; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
#parts-diagram-proxy.pdp-proxy .pdp-stock { display: inline-block; font-size: 11px; line-height: 1.4; color: var(--pdp-stock-in); }
#parts-diagram-proxy.pdp-proxy .pdp-stock-outstock { color: var(--pdp-stock-out); }
#parts-diagram-proxy.pdp-proxy .pdp-stock-shipping { color: var(--pdp-stock-shipping); }
#parts-diagram-proxy.pdp-proxy[data-pulse="1"] .pdp-stock:not(.pdp-stock-unavailable) { animation: pdp-stock-pulse var(--pdp-pulse-speed) ease-in-out infinite; }
#parts-diagram-proxy.pdp-proxy .pdp-mobile-stock { display: none; }
#parts-diagram-proxy.pdp-proxy .pdp-quantity-add { display: flex; flex-direction: column; gap: 6px; width: 100%; }
#parts-diagram-proxy.pdp-proxy .pdp-quantity { appearance: auto; display: block; position: static; width: 100%; min-width: 0; height: 36px; border: 1px solid #c8c8c8; border-radius: 4px; padding: 4px; background: transparent; color: inherit; font-size: 14px; line-height: normal; opacity: 1; }
#parts-diagram-proxy.pdp-proxy .pdp-add { width: 100%; padding: 8px 4px; }
#parts-diagram-proxy.pdp-proxy .pdp-details { border-top: 1px solid #dedede; padding: 16px 0; }
#parts-diagram-proxy.pdp-proxy .pdp-details summary { cursor: pointer; font-size: 1.25rem; font-weight: 600; margin-bottom: 12px; }
#parts-diagram-proxy.pdp-proxy .pdp-featured { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr)); gap: 16px; }
#parts-diagram-proxy.pdp-proxy .pdp-featured img { display: block; max-width: 100%; height: auto; }
#parts-diagram-proxy.pdp-proxy .pdp-notice { position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 30; max-width: calc(100% - 32px); padding: 12px 18px; border: 1px solid #b8d9c4; border-radius: 4px; background: #f1faf4; color: #152e21; font-size: 14px; line-height: 1.5; }
#parts-diagram-proxy.pdp-proxy .pdp-notice[data-error=true] { border-color: #e5b4b4; background: #fff5f5; color: #7f2020; }
#parts-diagram-proxy.pdp-proxy .pdp-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes pdp-stock-pulse { 50% { opacity: calc(1 - var(--pdp-pulse-opacity)); } }
@media (min-width: 1101px) {
    #parts-diagram-proxy.pdp-proxy .pdp-image-viewport { position: sticky; top: var(--pdp-sticky-offset, 16px); }
}
@media (max-width: 1100px) { #parts-diagram-proxy.pdp-proxy .pdp-diagram-layout { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 767px) {
    #parts-diagram-proxy.pdp-proxy .pdp-content { padding: 16px; gap: 20px; }
    #parts-diagram-proxy.pdp-proxy .pdp-title { font-size: 1.75rem; }
    #parts-diagram-proxy.pdp-proxy .pdp-table { display: block; font-size: 12px; }
    #parts-diagram-proxy.pdp-proxy .pdp-table thead, #parts-diagram-proxy.pdp-proxy .pdp-table tbody { display: block; width: 100%; }
    #parts-diagram-proxy.pdp-proxy .pdp-table tr { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,.65fr) minmax(0,1fr); width: 100%; border-bottom: 1px solid #dedede; }
    #parts-diagram-proxy.pdp-proxy .pdp-table th, #parts-diagram-proxy.pdp-proxy .pdp-table td { display: block; width: auto; min-width: 0; padding: 10px 5px; border-bottom: 0; }
    #parts-diagram-proxy.pdp-proxy .pdp-table th:first-child, #parts-diagram-proxy.pdp-proxy .pdp-table th:last-child { width: auto; }
    #parts-diagram-proxy.pdp-proxy .pdp-table .pdp-desktop-stock, #parts-diagram-proxy.pdp-proxy .pdp-table .pdp-required { display: none; }
    #parts-diagram-proxy.pdp-proxy .pdp-mobile-stock { display: block; margin-top: 4px; }
    #parts-diagram-proxy.pdp-proxy .pdp-price { font-size: 12px; }
    #parts-diagram-proxy.pdp-proxy .pdp-parts-toolbar { column-gap: 20px; row-gap: 12px; }
    #parts-diagram-proxy.pdp-proxy .pdp-add-selected { font-size: 12px; padding: 8px; }
}
@media (prefers-reduced-motion: reduce) { #parts-diagram-proxy.pdp-proxy .pdp-stock { animation: none !important; } }
