/* Product-card presentation. Hardware logic and prices live in their existing modules. */
.psu-standard-badge{position:absolute;bottom:14px;left:18px;z-index:3;display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid #44c5d080;border-radius:5px;background:#0d2429f5;color:#91eff6;font-size:11px;font-weight:650;line-height:1.3;letter-spacing:.02em;pointer-events:none}
.psu-details{margin:24px 0;padding:22px;border:1px solid #3b555d;border-radius:12px;background:#111b1f;color:#e5f0f3}.psu-details h3{font-size:21px;margin:0 0 12px}.psu-details h4{font-size:15px;margin:23px 0 10px}.psu-details .psu-standard-text{color:#badce2;font-size:13px}.psu-standard-text strong{color:#76e2ec}.psu-inventory{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.6}.psu-inventory th,.psu-inventory td{padding:10px 8px;border-bottom:1px solid #30454c;text-align:left;overflow-wrap:anywhere;font-weight:400}.psu-inventory thead th{color:#9bb7c0;font-size:11px}.psu-inventory th:last-child,.psu-inventory td:last-child{width:95px;text-align:right;white-space:nowrap;color:#b5edf3;font-variant-numeric:tabular-nums}.psu-details .psu-data-note,.psu-details .psu-safety-note{font-size:12px;line-height:1.65;color:#a9bfc7;margin:13px 0 0}.psu-details .psu-safety-note{border-left:2px solid #2db5c1;padding-left:12px;color:#c6e2e8}.psu-sources{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.psu-sources a{font-size:12px}
@media(max-width:650px){.psu-details{padding:15px 12px}.psu-inventory{font-size:11px}.psu-inventory th,.psu-inventory td{padding:9px 4px}.psu-inventory th:last-child,.psu-inventory td:last-child{width:75px;font-size:10px}.psu-standard-badge{left:14px;font-size:10px}}
:root{--component-stage:radial-gradient(ellipse at 50% 38%,#35454b 0,#202b2f 48%,#171d1f 82%)}
#picker{width:min(1320px,96vw)}
.card-filter-toggle{display:none}.card-filter-fields{flex-shrink:0}
.products-grid{gap:22px;align-items:stretch}
.product-card{background:#191f21;border:1px solid #35454a;border-radius:14px;box-shadow:0 6px 22px #0002;transition:border-color .2s,box-shadow .2s}
.product-card:hover{border-color:#66868e;box-shadow:0 12px 30px #0004}
.product-card.is-selected{border-color:#2bb5c0;box-shadow:0 0 0 1px #2bb5c044}
.product-card.blocked{border-color:#925d4d}
.product-visual{isolation:isolate;position:relative;overflow:hidden;border:0;border-radius:0}
.product-photo.product-visual{display:flex;flex-direction:column;height:285px;padding:0!important;background:var(--component-stage)}
.visual-heading{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;padding:18px 20px 0;position:relative;z-index:2;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#536268}
.visual-heading strong{font-size:12px;letter-spacing:.03em;color:#273a41;overflow-wrap:anywhere;text-align:right}
.visual-object{display:flex;align-items:center;justify-content:center;width:100%;flex:1;min-height:0;padding:16px 22px 33px}
.product-visual .visual-object img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;transform:scale(var(--photo-zoom,1));filter:drop-shadow(0 14px 12px #00000035)}
.visual-inspect{position:absolute;bottom:12px;right:14px;display:flex;align-items:center;gap:7px;min-height:28px;padding:4px 9px;border-radius:5px;background:#fff9;color:#314d56;font-size:10px;border:1px solid #95aab133;z-index:3}
.visual-inspect svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.6}
.visual-inspect:hover{background:#fff;color:#0b6370}
.product-visual.visual-dark,.product-visual.visual-cutout{background:var(--component-stage)}
.visual-dark .visual-heading,.visual-cutout .visual-heading{color:#a8c4cd}
.visual-dark .visual-heading strong,.visual-cutout .visual-heading strong{color:#edf9fc}
.visual-dark .visual-object img,.visual-cutout .visual-object img{mix-blend-mode:normal}
.visual-cutout .visual-object img{filter:drop-shadow(0 12px 12px #0006)}
.visual-dark .visual-inspect,.visual-cutout .visual-inspect{background:#12212ccc;border-color:#6c939755;color:#d7f5f8}
.component-photo-note{position:static!important;margin:0;padding:9px 18px;background:#222c30;color:#b7c7cd;font-size:10px;line-height:1.5;text-align:left;border-bottom:1px solid #35454a}
.product-content{padding:20px;gap:0}
.product-meta{font-size:10px;color:#9fb5bd;margin-bottom:8px}
.product-title{font-size:17px;font-weight:600;line-height:1.42;letter-spacing:-.02em;margin:0 0 10px;color:#f1f5f6;overflow-wrap:anywhere}
.product-article{font-size:10px;line-height:1.5;color:#a1b1b8;margin:0 0 13px;overflow-wrap:anywhere}
.product-facts{margin:2px 0 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 15px;padding-top:14px;border-top:1px solid #344147}
.product-facts div{min-width:0}.product-facts dt{font-size:10px;line-height:1.4;color:#8fa8b1;margin-bottom:4px}
.product-facts dd{margin:0;font-size:12px;line-height:1.4;font-weight:500;color:#e0e9ec;overflow-wrap:anywhere}
.product-facts div:last-child:nth-child(odd){grid-column:1/-1}
.product-status{margin-top:auto;font-size:10px;padding:9px 10px;background:#252e31;color:#b0c4cb;line-height:1.5;border-left:2px solid #748e97;border-radius:0 4px 4px 0}
.product-status.error{background:#382a28;color:#ffc4af;border-color:#cf8468}
.product-bottom{margin-top:0;padding-top:16px;border-color:#344147}
.product-price{align-items:flex-end;gap:10px;margin-bottom:15px;flex-wrap:wrap}
.product-price>div small{display:block;font-size:9px;color:#99acb3;margin-bottom:4px}
.product-price strong{display:block;font-size:25px;font-weight:500;letter-spacing:-.04em}
.product-delta{font-size:10px;line-height:1.5;max-width:132px;text-align:right}
.product-buttons{gap:8px;flex-wrap:wrap}.product-buttons .button{min-height:44px;font-size:12px}
.product-buttons .detail-button{min-height:44px;padding:8px 12px;font-size:11px;color:#d2e0e5;border-color:#496169;border-radius:5px}
.component-image.product-visual{width:108px;height:108px;border-radius:9px;background:#e8eef0;display:flex;padding:0;align-self:start}
.component-image.product-visual.visual-cutout,.component-image.product-visual.visual-dark{background:#1b2b33}
.component-image .visual-object{padding:10px;flex:none;height:100%;width:100%}
.component-body:has(.product-visual){grid-template-columns:108px minmax(0,1fr) auto;gap:20px}
.detail-photo.product-visual{height:380px;min-height:0;margin:0;border-radius:12px;display:flex;flex-direction:column;padding:0!important;background:#e8eef0}
.detail-photo .visual-object{padding:20px 30px 25px}.detail-photo .visual-inspect{display:none}
.detail-photo+.component-photo-note{border-radius:0 0 8px 8px;margin-top:-8px;padding-top:16px}
.detail-photo~.component-price{display:block;margin-top:22px}
#info-dialog{max-width:740px}
#product-photo-dialog{width:min(1000px,96vw);padding:22px;background:#121c22;border:1px solid #496169;max-height:94dvh}
.photo-viewer-head{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}.photo-viewer-head h2{font-size:18px;line-height:1.5;margin:0;overflow-wrap:anywhere}.photo-viewer-head .close{position:relative;flex:0 0 38px}
.photo-viewer-stage{height:min(65dvh,700px);display:flex;align-items:center;justify-content:center;border-radius:12px;background:#e8eef0;padding:18px}.photo-viewer-stage img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.photo-viewer-stage.visual-dark,.photo-viewer-stage.visual-cutout{background:#1b2b33}.photo-viewer-stage.visual-dark img,.photo-viewer-stage.visual-cutout img{mix-blend-mode:normal}
.photo-viewer-caption{font-size:12px;color:#b2c5ce;margin:14px 0 0}
.visual-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:#536970;font-size:12px;text-align:center}
.visual-unavailable svg{width:55px;height:55px;stroke:currentColor;fill:none;stroke-width:1}
.component-image .visual-unavailable{font-size:9px;gap:3px}.component-image .visual-unavailable svg{width:32px;height:32px}
@media(min-width:1500px){.component-body:has(.product-visual){grid-template-columns:116px minmax(0,1fr) auto}.component-image.product-visual{width:116px;height:116px}}
@media(max-width:1150px){.component-body:has(.product-visual){grid-template-columns:95px minmax(0,1fr);gap:15px}.component-image.product-visual{width:95px;height:95px;grid-row:span 2}.component-actions{grid-column:2}.products-grid{gap:16px}.product-content{padding:17px}.product-photo.product-visual{height:255px}.product-buttons .detail-button{padding:8px}}
@media(max-width:850px){.product-photo.product-visual{height:250px}.component-body:has(.product-visual){grid-template-columns:75px minmax(0,1fr);gap:12px}.component-image.product-visual{width:75px;height:85px}.product-title{font-size:16px}}
@media(max-width:650px){#picker[open]{width:100%}.products-grid{gap:20px}.product-photo.product-visual{height:265px}.visual-heading{padding:16px 18px 0}.visual-object{padding:15px 20px 34px}.product-content{padding:20px}.product-title{font-size:18px}.product-facts dd{font-size:13px}.product-price strong{font-size:27px}.product-buttons{flex-wrap:nowrap}.product-buttons .button{font-size:11px;padding-inline:9px}.product-buttons .detail-button{font-size:10px;padding-inline:10px}.component-body:has(.product-visual){grid-template-columns:84px minmax(0,1fr);gap:12px}.component-image.product-visual{width:84px;height:95px}.component-actions{flex-wrap:wrap;justify-content:flex-start;gap:10px}.component-actions .component-price{width:100%;font-size:21px}.detail-photo.product-visual{height:300px}.component-photo-note{font-size:10px}.product-delta{max-width:135px}.small-dialog#info-dialog{padding:25px 18px}}
@media(prefers-reduced-motion:reduce){.product-card{transition:none}}
/* Same charcoal product stage as the peripherals catalogue, at every size. */
.product-photo.product-visual,.component-image.product-visual,.detail-photo.product-visual,.photo-viewer-stage,.case-preview,
.component-image.product-visual.visual-cutout,.component-image.product-visual.visual-dark,
.photo-viewer-stage.visual-dark,.photo-viewer-stage.visual-cutout{background:var(--component-stage)}
.visual-heading{color:#afc4ca}.visual-heading strong{color:#f1f6f7}
.visual-inspect,.visual-dark .visual-inspect,.visual-cutout .visual-inspect{background:#131c20dd;border-color:#7d9a9f50;color:#e6f8fa}
.visual-inspect:hover{background:#283b40;color:#fff}
.photo-viewer-stage img,.case-preview img{mix-blend-mode:normal;object-fit:contain;filter:drop-shadow(0 14px 12px #00000035)}
.visual-object img{color:#afc4ca}.visual-unavailable{color:#afc4ca}
button.visual-object{border:0;border-radius:0;background:transparent;cursor:zoom-in;text-align:inherit}
button.visual-object:focus-visible{outline:2px solid #2fb6c1;outline-offset:-4px}
.detail-photo .visual-inspect{display:flex}
#product-photo-dialog{background:#11191c;max-height:96dvh;overscroll-behavior:contain}
.gallery-main{position:relative;min-width:0}.gallery-main .photo-viewer-stage{height:min(54dvh,620px);overflow:auto;touch-action:pan-y;padding:18px 50px;display:block;text-align:center}
.gallery-main-image{display:block;max-width:none;min-width:0}.photo-viewer-stage.is-zoomed{padding:20px;touch-action:auto}.photo-viewer-stage.is-zoomed img{width:200%;height:200%;max-width:none;max-height:none}
.gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:50px;display:grid;place-items:center;border:1px solid #496169;background:#131c20e8;border-radius:8px;color:#e6f8fa}.gallery-arrow[hidden]{display:none}.gallery-arrow:hover{background:#29454b}.gallery-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.gallery-prev{left:8px}.gallery-next{right:8px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;color:#b8cdd2;font-size:12px}.gallery-status{margin:0;line-height:1.5}.gallery-zoom{flex-shrink:0;min-height:38px;padding:8px 14px;color:#e6f8fa;border:1px solid #496169;border-radius:6px}
.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:4px 1px 12px;scrollbar-width:thin;scrollbar-color:#496169 transparent}.gallery-thumbnail{flex:0 0 82px;width:82px;height:76px;background:var(--component-stage);padding:6px;border:2px solid #34474e;border-radius:7px}.gallery-thumbnail[aria-pressed=true]{border-color:#2fb6c1;box-shadow:0 0 0 1px #2fb6c166}.gallery-thumbnail img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}.gallery-image-error{padding:30px;color:#b8cdd2;font-size:14px}.gallery-arrow:focus-visible,.gallery-thumbnail:focus-visible,.gallery-zoom:focus-visible{outline:2px solid #8ce5ed;outline-offset:2px}
@media(max-width:650px){#product-photo-dialog{width:100%;max-width:100vw;padding:17px 12px}.photo-viewer-head{gap:12px;margin-bottom:12px}.photo-viewer-head h2{font-size:15px}.gallery-main .photo-viewer-stage{height:42dvh;padding:14px 33px}.gallery-arrow{width:32px;height:44px}.gallery-prev{left:2px}.gallery-next{right:2px}.gallery-thumbnail{flex-basis:68px;width:68px;height:64px}.gallery-toolbar{gap:10px;font-size:11px}.photo-viewer-caption{font-size:11px}}
@media(max-width:650px){.card-filter-toggle{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;margin:8px 18px 0;padding:9px 0;color:#acc7cf;border-bottom:1px solid #344b52;font-size:11px}.card-filter-toggle span{font-size:18px;line-height:1}.card-filter-fields:not(.is-expanded){display:none}.card-filter-fields.is-expanded{max-height:32dvh;overflow:auto}.picker-head{padding-top:15px}.product-photo.product-visual{height:230px}.product-title{font-size:17px}.product-content{padding:17px}.product-facts{gap:10px;margin-bottom:13px}}
