/* Shared purchase area and quote dialog: no source prices or product facts change. */
body.customer-shop .purchase-quantity-field > label {display:block;font-weight:650;margin:20px 0 8px}
body.customer-shop .purchase-quantity-field .purchase-quantity {width:204px;max-width:100%;gap:0;margin:0;border:1px solid #c5d0d8;border-radius:7px;overflow:hidden}
body.customer-shop .purchase-quantity button {width:48px;height:46px;border:0;border-radius:0;background:#f4f7f9;color:#193d56;flex:none;font-size:24px}
body.customer-shop .purchase-quantity button:disabled {color:#a8b2b9;cursor:default}
body.customer-shop #fullProductModal .purchase-quantity input {width:100%;height:46px;min-width:0;margin:0;border:0;border-radius:0;text-align:center;font-size:17px;appearance:textfield;-moz-appearance:textfield;padding:8px}
.purchase-quantity input::-webkit-inner-spin-button,.purchase-quantity input::-webkit-outer-spin-button {-webkit-appearance:none;margin:0}
.purchase-quantity-help {display:block;margin-top:7px;font-size:12px;color:#6b7a85}
.purchase-field-error {display:block;color:#a13d29;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.purchase-field-error:empty {display:none}
body.customer-shop .purchase-field-error {margin:6px 0 0}
body.customer-shop #customerQuantityAmount {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;margin:14px 0 4px;border-top:1px solid #e0e6eb;background:none;border-radius:0;color:#19364c;font-size:14px;line-height:1.5}
body.customer-shop #customerQuantityAmount strong {font-size:clamp(21px,2vw,27px);font-weight:750;text-align:right}
body.customer-shop .purchase-price-note {color:#687986;font-size:12px;margin:0 0 20px;line-height:1.6}
body.customer-shop .shop-purchase-actions {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:20px 0 0}
body.customer-shop .shop-purchase-actions > button {min-height:48px;border:1px solid #183d58;border-radius:5px;padding:11px 14px;font-size:15px;font-weight:700}
body.customer-shop .shop-purchase-actions > #fullAdd {width:100%;margin:0;background:#183d58;color:#fff}
body.customer-shop .shop-purchase-actions > #fullAdd:disabled {background:#e6edf1;border-color:#e6edf1;color:#8b99a4}
body.customer-shop .purchase-inquiry-button {background:white;color:#183d58}
body.customer-shop .shop-purchase-actions > .purchase-inquiry-button:only-child {grid-column:1/-1}
body.customer-shop .shop-price {display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
body.customer-shop .shop-price .purchase-unit-price-label {font-size:13px;font-weight:500;color:#617381;margin-right:auto}
.purchase-quote-dialog {width:min(760px,calc(100% - 32px));max-width:760px;max-height:calc(100dvh - 40px);padding:32px;border:0;border-radius:12px;color:#173249;background:#fff;box-shadow:0 22px 90px #091d3a40;overflow:auto;overscroll-behavior:contain}
.purchase-quote-dialog::backdrop {background:rgba(8,25,39,.62)}
.purchase-quote-dialog * {box-sizing:border-box}
.purchase-quote-dialog .purchase-quote-heading {display:flex;gap:20px;align-items:flex-start;justify-content:space-between}
.purchase-quote-eyebrow {margin:0 0 6px;color:#6e8393;font-size:10px;letter-spacing:.14em}
.purchase-quote-dialog h2 {font-size:28px;line-height:1.35;margin:0;font-weight:750;letter-spacing:-.04em}
.purchase-quote-heading > button {border:0;background:transparent;padding:8px;min-height:40px;color:#506778;white-space:nowrap}
#purchaseQuoteDescription {margin:12px 0 20px;font-size:14px;color:#657987}
.purchase-quote-context {padding:18px 20px;border:1px solid #e2e8ed;background:#f8fafb;border-radius:7px;margin-bottom:24px;overflow-wrap:anywhere}
.purchase-quote-context > strong {font-size:17px}
.purchase-quote-context dl {display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px 14px;margin:10px 0 0;font-size:13px}
.purchase-quote-context dt {color:#647986}
.purchase-quote-context dd {margin:0}
.purchase-quote-fields {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 18px}
.purchase-quote-fields label {display:block;font-size:14px;font-weight:650;min-width:0}
.purchase-quote-fields :is(input:not([type=file]),textarea) {display:block;width:100%;margin:8px 0 0;border:1px solid #c8d3db;border-radius:6px;padding:12px;min-height:46px;font-size:16px;font-weight:400;color:#19364c;background:#fff}
.purchase-quote-fields textarea {resize:vertical;min-height:108px}
.purchase-quote-wide {grid-column:1/-1}
.purchase-quote-files {padding:16px;border:1px dashed #b9c9d4;border-radius:6px;background:#fcfdfe}
.purchase-quote-files input {display:block;width:100%;margin:10px 0;font-weight:400;font-size:14px;max-width:100%}
#purchaseQuoteFileList {display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}
#purchaseQuoteFileNotice {display:block;color:#697d8b;font-size:12px;line-height:1.6;margin-top:6px;font-weight:400}
.purchase-quote-guidance {font-size:12px;line-height:1.8;color:#637987;margin:22px 0 12px}
.purchase-quote-actions {display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.purchase-quote-actions button {min-height:48px;min-width:94px;border:1px solid #ced9e0;border-radius:6px;padding:12px 20px;background:white;color:#335269;font-size:15px}
.purchase-quote-actions #purchaseQuoteContinue {background:#fee500;border-color:#fee500;color:#191919;font-weight:750}
.purchase-quote-dialog :is(button,input,textarea):focus-visible,body.customer-shop :is(.purchase-quantity button,.purchase-quantity input,.purchase-inquiry-button):focus-visible {outline:3px solid #2582ad;outline-offset:3px}
.purchase-quote-dialog [aria-invalid=true],body.customer-shop .purchase-quantity input[aria-invalid=true] {border-color:#a13d29;box-shadow:inset 0 0 0 1px #a13d29}
@media(max-width:560px){
 .purchase-quote-dialog {width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:22px 18px;border-radius:9px}
 .purchase-quote-dialog h2 {font-size:24px}
 .purchase-quote-fields {grid-template-columns:minmax(0,1fr);gap:18px}
 .purchase-quote-context {padding:15px}
 .purchase-quote-context dl {grid-template-columns:62px minmax(0,1fr);gap:6px 10px}
 .purchase-quote-actions {display:grid;grid-template-columns:auto minmax(0,1fr)}
 .purchase-quote-actions button {padding:11px 12px;min-width:72px}
 body.customer-shop .shop-purchase-actions {gap:8px}
 body.customer-shop .shop-purchase-actions > button {font-size:14px;padding:11px 9px}
}
body.customer-shop .shop-selection-summary {display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px 12px}
body.customer-shop .shop-selection-summary dt {color:#637987}
body.customer-shop .shop-selection-summary dd {margin:0;min-width:0;overflow-wrap:anywhere}
body.customer-shop #fullVariantCount:empty {display:none}

/* Quiet quote controls, with consistent emphasis and keyboard feedback. */
body.customer-shop .shop-purchase-actions > button {border-radius:7px;transition:background-color .15s ease,border-color .15s ease}
body.customer-shop .shop-purchase-actions > #fullAdd:not(:disabled):hover {background:#214e6c;border-color:#214e6c}
body.customer-shop .shop-purchase-actions > .purchase-inquiry-button:hover {background:#f3f7fa;border-color:#55768e}
body.customer-shop .shop-purchase-actions > button:focus-visible {outline:3px solid #2582ad;outline-offset:3px}
.purchase-quote-actions #purchaseQuoteContinue:hover {background:#f4dc00;border-color:#f4dc00}
@media(prefers-reduced-motion:reduce){body.customer-shop .shop-purchase-actions > button {transition:none}}

/* Exact-model certification identity review; no effect on other catalogue items. */
.product-safety-hold{margin:12px 0;padding:12px;border:1px solid #d7ba76;border-radius:5px;background:#fff9eb;color:#57421d;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.product-safety-hold>strong{display:block;font-weight:750;color:#624711}
.product-safety-hold p{margin:7px 0;font-size:inherit}
.product-safety-hold a{color:#294f70;text-decoration:underline;text-underline-offset:2px}
.product-safety-hold a:focus-visible{outline:3px solid #234e71;outline-offset:3px}
.shop-card .product-safety-hold{margin:6px 0;padding:9px;font-size:11px}
