/* Shared product tools and project quote UI. */
/* Monetary UI is absent from the quote-only store, including legacy bindings. */
.price-display,#total-display,.p-price{display:none!important}
.price-box .text-muted.small,.price-box div:has(> #total-display){display:none!important}
.weight-note{margin-top:6px;font-size:11px;color:#64748b}
.cat-card{width:100%;text-align:left;font:inherit}.cat-card.locked{cursor:default;opacity:.65}.subchip{font:inherit}.p-media:disabled{cursor:default}.p-btn:disabled{opacity:.65;cursor:default}
#cartDrawer[hidden],#cartOverlay[hidden],[hidden]{display:none!important}
.quote-dialog{box-sizing:border-box;width:min(1060px,calc(100% - 32px));max-height:90vh;border:1px solid #d5e2f3;border-radius:16px;padding:0;color:#0f172a;background:#fff;box-shadow:0 30px 90px #08182d55;font:14px/1.55 'Open Sans',Arial,sans-serif}
.quote-dialog *{box-sizing:border-box}.quote-dialog::backdrop{background:#0b1526b8;backdrop-filter:blur(3px)}
.quote-dialog header{padding:24px 28px;background:#0d1b30;color:white;display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;z-index:2}.quote-dialog h2{font:700 25px/1.2 Poppins,Arial,sans-serif;margin:8px 0 0;color:inherit}.quote-dialog .eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:#83b6ff}.quote-dialog header button{color:white;background:#ffffff10;border:1px solid #ffffff40;border-radius:8px;font-size:26px;width:38px;height:38px;line-height:1;cursor:pointer}
.quote-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,1fr)}.quote-layout>section{padding:24px;min-width:0}.quote-layout>aside{padding:24px;background:#f6f9fe;border-left:1px solid #dce5f0;display:grid;align-content:start;gap:12px}.quote-dialog h3{font:700 16px/1.35 Poppins,Arial,sans-serif;margin:0 0 10px}.quote-dialog label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#52627a}.quote-dialog input,.quote-dialog select,.quote-dialog textarea{min-width:0;max-width:100%;width:100%;border:1px solid #cfdcec;border-radius:7px;padding:9px 10px;background:#fff;color:#0f172a;font:13px/1.5 'Open Sans',Arial,sans-serif}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-dialog button:not(header button){border:1px solid #c8d9ee;background:#edf4ff;color:#0b56b4;border-radius:7px;padding:9px 12px;cursor:pointer;font:700 12px/1.4 'Open Sans',Arial,sans-serif}.quote-dialog button.primary{background:#106eea;color:white;border-color:#106eea;padding:12px 20px}.quote-dialog button:disabled{opacity:.45;cursor:not-allowed}.quote-item{padding:18px 0;border-bottom:1px solid #e3ebf5;display:grid;gap:14px}.quote-item:first-child{padding-top:0}.quote-item p{font-size:12px;line-height:1.8;color:#64748b;margin:0 0 10px;overflow-wrap:anywhere}.quote-price{font-size:12px;font-weight:700;color:#0b56b4}.quote-item-controls{display:flex;justify-content:space-between;align-items:end;gap:12px}.quote-item-controls label{max-width:78px}.quote-item-controls>div{display:flex;gap:6px;flex-wrap:wrap}.quote-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:18px;position:sticky;bottom:0;padding:18px 24px;background:#fff;border-top:1px solid #dce5f0}.quote-totals{font-size:12px;color:#526783;font-weight:700}.quote-empty{padding:35px 10px;color:#64748b}.quote-dialog .import-quote input{font-size:11px}.quote-review{max-width:760px}.quote-review>p{margin:24px 24px 12px;font-size:13px;color:#64748b}.quote-review>textarea{width:calc(100% - 48px);margin:0 24px 24px}.quote-review footer{flex-wrap:wrap}.quote-dialog :focus-visible{outline:3px solid #106eea;outline-offset:3px}
#store-notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:110000;background:#102440;color:white;border:1px solid #4d7bb3;padding:14px 20px;border-radius:10px;box-shadow:0 8px 30px #0003;width:max-content;max-width:calc(100% - 32px);font-size:13px}
.model-inspector{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 4px 20px;font:12px 'Open Sans',Arial,sans-serif}.model-inspector>span{font-size:10px;color:#64748b;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-right:8px}.model-inspector button{padding:8px 11px;border:1px solid #cadcf1;border-radius:6px;background:#fff;color:#506780;font-size:11px;font-weight:700;cursor:pointer}.model-inspector button[aria-pressed=true]{background:#0f2544;border-color:#0f2544;color:#fff}.dimension-convention{background:#eaf3ff;border:1px solid #cddff7;color:#325a88;padding:10px 12px;margin:14px 0;font-size:12px;line-height:1.5;border-radius:8px}.clear-opening{margin-top:8px;color:#0b56b4;font-weight:700}
@media(max-width:740px){.quote-layout{grid-template-columns:1fr}.quote-layout>aside{border-left:0;border-top:1px solid #dce5f0}.quote-dialog header{padding:18px}.quote-dialog h2{font-size:22px}.quote-layout>section,.quote-layout>aside{padding:18px}.quote-dialog footer{padding:14px;flex-wrap:wrap}.quote-item-controls{align-items:center}.quote-dialog{max-height:94vh;width:calc(100% - 16px)}.model-inspector{gap:5px}.model-inspector>span{width:100%;margin-bottom:3px}}

.config-grid{grid-template-columns:minmax(0,1fr) minmax(320px,460px)}.config-grid>*{min-width:0}.viewer-container canvas{max-width:100%;display:block}.configuration-warning{margin:16px;padding:12px 16px;border:1px solid #f59e0b;background:#fff7ed;color:#78350f;border-radius:8px;font-size:13px}input[aria-invalid=true]{border-color:#dc2626!important;box-shadow:0 0 0 1px #dc2626}.configuration-invalid canvas{opacity:.3}.configuration-invalid:after{content:"Preview paused — correct the highlighted dimensions";position:absolute;left:12px;bottom:70px;right:12px;padding:9px;background:#fff7ed;color:#78350f;border-radius:6px;font-size:12px;text-align:center;pointer-events:none}@media(max-width:991px){.config-grid{grid-template-columns:minmax(0,1fr)}}


.viewer-modes{position:absolute;right:15px;bottom:15px;z-index:10;display:flex;gap:5px;padding:5px;border:1px solid #d5e1ef;border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 3px 12px #0f254410}.viewer-modes .view-btn{width:40px;height:40px;padding:0;border:1px solid #d5e1ef;border-radius:10px;background:rgba(255,255,255,.9);color:#106eea;font-size:10px;font-weight:800;cursor:pointer}.viewer-modes .view-btn[aria-pressed="true"]{background:#106eea;border-color:#106eea;color:#fff}.viewer-modes .view-btn:focus-visible{outline:2px solid #0f2544;outline-offset:2px}
.viewer-modes .view-btn[aria-pressed="true"]{background:#106eea!important;border-color:#106eea!important;color:#fff!important}
/* Shopping cart first; quote contact details appear at the review step. */
.quote-dialog header{background:white;color:#15304c;border-bottom:1px solid #e1eaf4}.quote-dialog .eyebrow{color:#106eea}.quote-dialog header button{background:#eef4ff;border-color:#d5e2f3;color:#155cab}.quote-layout{grid-template-columns:minmax(0,1fr) 280px}.quote-item{grid-template-columns:104px minmax(0,1fr) 135px;align-items:start;gap:16px;padding:22px 0}.cart-item-image{aspect-ratio:1;background:white;border:1px solid #e1e9f2;border-radius:10px;display:grid;place-items:center;overflow:hidden}.cart-item-image img{width:100%;height:100%;object-fit:contain}.cart-item-image>span{font-size:42px;color:#87a4c5}.cart-item-content{min-width:0}.cart-item-price{text-align:right;display:grid;gap:6px}.cart-item-price strong{font-size:17px;color:#155cab}.cart-item-price span{font-size:11px;color:#64748b}.cart-specifications{font-size:12px;color:#516982;margin-bottom:10px}.cart-specifications summary{cursor:pointer;color:#106eea;font-weight:700}.cart-specifications ul{padding-left:16px;line-height:1.7;margin:8px 0}.cart-weight{margin:6px 0!important;font-size:11px!important}.cart-summary dl{margin:16px 0}.cart-summary dl>div{display:flex;justify-content:space-between;gap:14px;margin:12px 0}.cart-summary dt{font-weight:600;color:#546a80}.cart-summary dd{margin:0;font-weight:700}.cart-summary .cart-estimate-total{border-top:1px solid #d6e2ee;padding-top:16px;margin-top:18px;flex-direction:column;gap:4px}.cart-estimate-total dd{font-size:26px;color:#106eea}.cart-summary p{font-size:12px;color:#62758b;line-height:1.65}.cart-tools{border-top:1px solid #d6e2ee;padding-top:15px;font-size:12px}.cart-tools summary{font-weight:700;color:#155cab;cursor:pointer;margin-bottom:10px}.cart-tools>label,.cart-tools>button,.cart-tools>.quote-fields{margin:10px 0}.cart-contact{padding:24px;border-top:1px solid #dce5f0;background:#f8fbff}.cart-contact form{display:grid;gap:14px}.quote-dialog button.cart-continue{display:block;border:0;background:transparent;padding:5px 0}.quote-item-controls{flex-wrap:wrap}.quote-dialog .quote-item-controls button{padding:6px 8px;background:white}.quote-dialog .quote-item-controls button[data-action=remove]{color:#875057;border-color:transparent}
@media(max-width:900px){.quote-layout{grid-template-columns:1fr}.quote-layout>aside{border-left:0;border-top:1px solid #dce5f0}.cart-summary .cart-estimate-total{flex-direction:row}.cart-estimate-total dd{font-size:22px}}
@media(max-width:600px){.quote-item{grid-template-columns:76px minmax(0,1fr);gap:12px}.cart-item-price{grid-column:2;text-align:left;display:flex;flex-wrap:wrap;align-items:center}.quote-item-controls{align-items:end}.cart-contact .quote-fields{grid-template-columns:1fr}}

.quote-item{grid-template-columns:104px minmax(0,1fr)}.submission-status{padding:0 4px;line-height:1.65}.quote-review textarea{font:12px/1.7 ui-monospace,monospace}.quote-review footer{position:static}.cart-address[hidden]{display:none!important}@media(max-width:600px){.quote-item{grid-template-columns:76px minmax(0,1fr)}}

body.cart-is-open{overflow:hidden}.quote-dialog{overscroll-behavior:contain}
.quote-item p.cart-connections{color:#25466b;line-height:1.55;margin:0 0 10px}
.cart-connections strong{display:block;color:#0f172a;font-weight:700}
