/* Hallmark · component: technical viewer · theme: existing MERYDOM
 * pre-emit critique: P4 H4 E4 S5 R5 V4 */
:root{--pv-paper:#fff;--pv-ink:#152b42;--pv-muted:#586c80;--pv-blue:#075fc7;--pv-hover:#064eaa;--pv-line:#d9e2eb;--pv-soft:#f3f6fa;--pv-focus:#075fc7;--pv-error:#a12828;--pv-success:#226444;--pv-font:inherit}
html.pv-enabled,html.pv-enabled body{overflow-x:clip}
.md-rp-product-stage .md-rp-product-image.md-rp-model-media .pv-launch{display:flex;gap:8px;flex-wrap:wrap;margin:0;position:static;width:100%;height:auto;min-height:0;border:0;border-radius:0;box-shadow:none;background:var(--pv-paper);justify-content:center}
.md-rp-product-stage .md-rp-product-image.md-rp-model-media .pv-launch::before,.md-rp-product-stage .md-rp-product-image.md-rp-model-media .pv-launch::after{content:none}
.pv-launch button,.pv-dialog button,.pv-dialog a.pv-link{font-family:var(--pv-font);font-size:14px;line-height:1.3;min-height:44px;border:1px solid var(--pv-line);border-radius:7px;background:var(--pv-paper);color:var(--pv-ink);padding:10px 14px;cursor:pointer;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.pv-launch button:first-child,.pv-dialog button[aria-selected=true]{background:var(--pv-blue);color:var(--pv-paper);border-color:var(--pv-blue)}
.pv-launch button:hover,.pv-dialog button:hover,.pv-dialog a.pv-link:hover{background:var(--pv-soft);color:var(--pv-ink)}
.pv-launch button:active,.pv-dialog button:active{transform:translateY(1px)}
.pv-launch button:focus-visible,.pv-dialog button:focus-visible,.pv-dialog a:focus-visible{outline:3px solid var(--pv-focus);outline-offset:3px}
.pv-dialog button:disabled{opacity:.45;cursor:not-allowed}
.pv-launch-note{font-size:13px;line-height:1.5;color:var(--pv-muted);margin:8px 0 0}
.pv-dialog{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--pv-paper);color:var(--pv-ink);font-family:var(--pv-font);overflow:hidden}
.pv-dialog::backdrop{background:var(--pv-ink)}
.pv-shell{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.pv-header{padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--pv-line)}
.pv-header h2{font-size:20px;line-height:1.3;font-style:normal;margin:0;overflow-wrap:anywhere;min-width:0}
.pv-kicker{font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--pv-muted);margin-bottom:3px}
.pv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:var(--pv-soft);border-bottom:1px solid var(--pv-line);flex-wrap:wrap}
.pv-tabs,.pv-downloads{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pv-workspace{position:relative;min-height:0;overflow:hidden;background:var(--pv-paper)}
.pv-dialog .pv-drawing{position:absolute!important;inset:0;overflow:hidden;touch-action:none;cursor:grab}
.pv-drawing:active{cursor:grabbing}
.pv-drawing img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;transform-origin:center;max-width:none}
.pv-model{position:absolute;inset:0}
.pv-model iframe{border:0;width:100%;height:100%;display:block}
.pv-controls{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:5px;background:var(--pv-paper);border:1px solid var(--pv-line);border-radius:10px}
.pv-controls button{padding:8px 13px}
.pv-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--pv-paper);z-index:3;color:var(--pv-muted);padding:24px;text-align:center}
.pv-status[data-state=error]{color:var(--pv-error)}
.pv-status[data-state=loading]:before{content:'';width:26px;height:26px;border:3px solid var(--pv-line);border-top-color:var(--pv-blue);border-radius:50%;animation:pv-spin .8s linear infinite}
.pv-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;border-top:1px solid var(--pv-line);font-size:12px;color:var(--pv-muted)}
.pv-ready{color:var(--pv-success);white-space:nowrap}
.pv-dialog [hidden]{display:none!important}
@keyframes pv-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pv-status:before{animation:none}}
@media(max-width:600px){.pv-header{padding:10px 12px;gap:8px}.pv-header h2{font-size:16px}.pv-header .pv-close{padding:8px 12px}.pv-toolbar{padding:8px 12px;gap:8px}.pv-tabs{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pv-downloads{width:100%;justify-content:space-between}.pv-dialog a.pv-link{font-size:12px;padding:8px 10px}.pv-footer{padding:8px 12px;font-size:11px}.pv-ready{display:none}.pv-launch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pv-launch button{font-size:12px;padding:10px 8px}}

/* Continuous sliding selection, shared by all localized tabs. */
.pv-dialog .pv-tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px;border:1px solid var(--pv-line);border-radius:11px;background:var(--pv-paper)}
.pv-dialog .pv-tabs::before{content:"";position:absolute;z-index:-1;left:4px;top:4px;bottom:4px;width:calc((100% - 8px)/2);border-radius:7px;background:var(--pv-blue);transform:translateX(0);transition:transform 300ms cubic-bezier(.22,.8,.25,1);pointer-events:none}
.pv-dialog .pv-tabs[data-mode=model]::before{transform:translateX(100%)}
.pv-dialog .pv-tabs button{background:transparent;border-color:transparent;color:var(--pv-ink);transition:color 220ms ease;transform:none}
.pv-dialog .pv-tabs button[aria-selected=true]{background:transparent;border-color:transparent;color:var(--pv-paper)}
.pv-dialog .pv-tabs button:hover{background:transparent}
@media(prefers-reduced-motion:reduce){.pv-dialog .pv-tabs::before,.pv-dialog .pv-tabs button{transition:none}}

/* Match the segmented view switch without implying a selected download action. */
.pv-dialog .pv-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px;border:1px solid var(--pv-line);border-radius:11px;background:var(--pv-paper)}
.pv-dialog .pv-downloads a.pv-link{min-height:44px;margin:0;border:1px solid transparent;border-radius:7px;padding:10px 14px;background:transparent;color:var(--pv-ink);font-size:14px;line-height:1.3;transition:background 220ms ease,color 220ms ease}
.pv-dialog .pv-downloads a.pv-link:hover,.pv-dialog .pv-downloads a.pv-link:focus-visible{background:var(--pv-blue);color:var(--pv-paper)}
.pv-dialog .pv-downloads a.pv-link:active{background:var(--pv-hover);color:var(--pv-paper)}
@media(max-width:600px){.pv-dialog .pv-downloads a.pv-link{font-size:12px;padding:10px 6px;min-width:0}}
@media(prefers-reduced-motion:reduce){.pv-dialog .pv-downloads a.pv-link{transition:none}}

/* Compact product gallery: one preview, two selectors, no duplicate launch row. */
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media{gap:10px;padding:12px;align-self:start}
html.pv-enabled .md-rp-model-media .md-rp-media-main{position:relative!important;flex:0 0 auto;min-height:0!important}
html.pv-enabled .md-rp-model-media .pv-expand{position:absolute;right:10px;bottom:10px;z-index:4;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--pv-line);border-radius:7px;background:var(--pv-paper);color:var(--pv-blue);font-size:24px;line-height:1;pointer-events:none}
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media .md-rp-media-options{gap:6px}
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media .md-rp-media-option{flex:1 1 0;min-width:0;max-width:none;min-height:54px;flex-direction:row;padding:6px 8px;gap:8px;font-size:12px;white-space:nowrap}
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media .md-rp-media-option img{width:40px;height:32px;max-height:32px;flex:0 0 40px}
html.pv-enabled .md-rp-product-stage .md-rp-model-media figcaption{font-size:11px;color:var(--pv-muted)}
html.pv-enabled .md-rp-product-stage__copy{justify-content:flex-start;gap:12px}
html.pv-enabled .md-rp-product-stage .md-rp-stage-actions{margin-top:16px;gap:10px}
html.pv-enabled .md-rp-product-stage .md-rp-stage-actions>a.cx-product-entry{background:var(--pv-paper);color:var(--pv-blue);border-color:var(--pv-line);font-size:13px;min-height:48px;padding:10px 12px}
html.pv-enabled .md-rp-product-stage .md-rp-stage-actions>a.cx-product-entry:hover{background:var(--pv-soft);border-color:var(--pv-blue)}
html.pv-enabled .md-rp-product-stage .md-rp-stage-actions>a.md-rp-stage-rfq{font-size:13px;min-height:48px;padding:10px 12px}

/* Selection is synchronous and independent from iframe loading. */
.pv-dialog .pv-tabs button[aria-selected=true],.pv-dialog .pv-tabs button[aria-selected=true]:hover{color:var(--pv-paper)!important;transition:none}
.pv-dialog .pv-tabs button[aria-selected=false],.pv-dialog .pv-tabs button[aria-selected=false]:hover{color:var(--pv-ink)!important;transition:none}

/* Stretch the preview alongside the product facts, keeping both column ends aligned. */
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media{align-self:stretch}
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media .md-rp-media-main{flex:1 1 auto;min-height:0!important}
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media .md-rp-media-options,
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media figcaption{flex:0 0 auto}

/* Larger, uncropped internal-view poster; the whole image remains the viewer trigger. */
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media .md-rp-media-main{padding:0!important;width:100%;border-radius:6px}
html.pv-enabled .md-rp-product-stage .md-rp-product-image.md-rp-model-media .md-rp-media-main img{width:100%!important;max-width:none!important;height:auto;max-height:none;padding:0!important;margin:0;aspect-ratio:auto;object-fit:contain}
html.pv-enabled .md-rp-model-media .pv-expand{display:none}
