[data-pd-3d-stage]{display:flex;flex:1;min-height:0;min-width:0}
[data-pd-3d-stage][hidden],.pd-3d-view [hidden]{display:none!important}
.pd-3d-view{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;color:var(--pd-ink,#08266b);font-family:DmlumaUI,var(--preview-language-font,Arial),sans-serif}
.pd-3d-canvas{position:relative;flex:1;min-height:150px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#f5f9fd 0%,#e5f1fb 63%,#ddeafa 100%)}
.pd-3d-model{display:block;width:100%;height:100%;min-height:150px;--progress-bar-height:0;--poster-color:transparent;--model-viewer-background-color:transparent;touch-action:none}
.pd-3d-status{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;background:#e9f2fa;padding:28px;text-align:center}
.pd-3d-message{max-width:420px;margin:0;font-size:14px;line-height:1.65}
.pd-3d-spinner{width:30px;height:30px;border:2px solid #08266b24;border-top-color:#08266b;border-radius:50%;animation:pd-3d-spin 1s linear infinite}
.pd-3d-retry{border:0;border-radius:4px;color:#fffdf7;background:#08266b;padding:12px 22px;min-height:44px;font:600 13px/1.4 DmlumaUI,var(--preview-language-font,Arial),sans-serif;cursor:pointer}
.pd-3d-footer{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;background:var(--pd-paper,#fffdf7);border-top:1px solid #08266b1a}
.pd-3d-hint{font-size:12px;line-height:1.6;margin:0;max-width:480px;color:#31517e}
.pd-3d-controls{display:flex;align-items:center;flex-shrink:0;direction:ltr;gap:2px;padding:2px;background:#edf3f9;border:1px solid #08266b1c;border-radius:5px}
.pd-3d-control{min-height:40px;min-width:42px;padding:7px;border:0;border-radius:3px;background:transparent;color:#08266b;font:400 23px/1 DmlumaUI,var(--preview-language-font,Arial),sans-serif;cursor:pointer}
.pd-3d-control:hover:enabled{background:#fff0b8}.pd-3d-control:disabled{opacity:.3;cursor:default}
.pd-3d-control.pd-3d-reset{font-size:12px;font-weight:500;padding:9px 13px;border-inline-start:1px solid #08266b24;border-radius:0 3px 3px 0}
.pd-3d-view button:focus-visible,.pd-3d-model:focus-visible{outline:3px solid #df447e;outline-offset:3px}
@keyframes pd-3d-spin{to{transform:rotate(360deg)}}
@media(max-width:720px){.pd-3d-footer{padding:12px 16px;flex-direction:column;gap:9px}.pd-3d-hint{text-align:center;font-size:11px}.pd-3d-controls{max-width:100%}.pd-3d-control{min-height:44px;min-width:44px}.pd-3d-control.pd-3d-reset{max-width:145px;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.pd-3d-message{font-size:13px}.pd-3d-canvas,.pd-3d-model{min-height:100px}}
@media(prefers-reduced-motion:reduce){.pd-3d-spinner{animation:none}}
/* Keep rotation controls reachable in short landscape windows. */
@media(max-height:520px){
 .pd-dialog{overflow:auto}
 .pd-dialog .pd-viewer-header{padding:8px 16px}
 .pd-dialog .pd-viewer-header .pd-eyebrow{display:none}
 .pd-dialog .pd-viewer-header h2{font-size:24px}
 .pd-dialog .pd-viewer-tabs{padding:0 12px;flex-wrap:nowrap}
 .pd-dialog .pd-viewer-tabs p{order:0;width:auto;padding:0;margin-inline-start:auto}
 .pd-dialog .pd-viewer-tab{padding:8px 12px}
 .pd-dialog .pd-viewer-model-note{padding:6px 16px;font-size:10px;line-height:1.4}
 .pd-3d-canvas,.pd-3d-model{min-height:72px}
 .pd-3d-footer{padding:5px 12px;flex-direction:row;gap:12px}
 .pd-3d-hint{font-size:10px;text-align:start}
 .pd-3d-controls{flex-shrink:0}
}

/* Immersive product reveal: no panel, only the object over the blurred page. */
[data-pd-double-open]{touch-action:manipulation;user-select:none;-webkit-user-select:none}
[data-pd-double-open]>img{-webkit-user-drag:none;pointer-events:none}
.pd-dialog--model{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;color:#f5f9ff}
.pd-dialog--model::backdrop{background:rgba(6,20,49,.47);backdrop-filter:blur(24px) saturate(.65);animation:pd-space-blur .65s ease-out both}
.pd-dialog--model .pd-viewer{position:relative;height:100dvh;width:100%;background:transparent;font-family:DmlumaUI,var(--preview-language-font,Arial),sans-serif;isolation:isolate}
.pd-dialog--model .pd-viewer::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 32% 30%,#8fcdf440,transparent 52%),radial-gradient(ellipse at 75% 67%,#eeb7d33c,transparent 45%),radial-gradient(ellipse at 46% 88%,#f9e69b24,transparent 40%)}
.pd-dialog--model .pd-viewer::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;bottom:100px;width:min(54vw,620px);height:76px;border:1px solid #e6f4ff33;border-radius:50%;background:radial-gradient(ellipse,#b7e4ff2b,transparent 68%);box-shadow:0 0 65px 16px #b4e4fc17,inset 0 0 32px #e1ddff17;transform:translateX(-50%);filter:blur(.5px);animation:pd-orbit-in .9s .15s both}
.pd-dialog--model .pd-viewer-header{position:absolute;z-index:5;inset:clamp(24px,4vh,48px) clamp(24px,5vw,88px) auto;padding:0;pointer-events:none;align-items:start}
.pd-dialog--model .pd-viewer-header>div{padding-top:3px}
.pd-dialog--model .pd-viewer-header .pd-eyebrow{display:block;font-size:10px;line-height:1.5;letter-spacing:.18em;font-weight:400;opacity:.65;margin:0 0 10px}
.pd-dialog--model .pd-viewer-header h2{font:400 clamp(22px,2.5vw,34px)/1.2 DmlumaUI,var(--preview-language-font,Arial),sans-serif;letter-spacing:-.025em;color:#fff}
.pd-dialog--model .pd-close{pointer-events:auto;display:grid;place-items:center;border:1px solid #ffffff40;background:#ffffff0e;color:#fff;border-radius:50%;width:48px;height:48px;font-size:28px;backdrop-filter:blur(12px);transition:background .2s,transform .2s}
.pd-dialog--model .pd-close:hover{background:#ffffff26;transform:rotate(90deg)}
.pd-dialog--model .pd-close:focus-visible{outline-color:#ffdb91}
.pd-dialog--model .pd-model-badge{position:absolute;z-index:4;top:116px;left:clamp(24px,5vw,88px);right:70px;max-width:260px;margin:0;color:#fff4d2;font-size:11px;line-height:1.6;pointer-events:none}
.pd-dialog--model [data-pd-3d-stage]{position:absolute;inset:0}
.pd-dialog--model .pd-3d-view{position:absolute;inset:0;color:#f5f9ff}
.pd-dialog--model .pd-3d-canvas{position:absolute;inset:54px max(18%,calc((100vw - 1150px)/2)) 108px;min-height:0;background:transparent;overflow:visible;transform-origin:50% 50%;will-change:transform}
.pd-dialog--model[open] .pd-3d-canvas{animation:pd-object-arrive .78s cubic-bezier(.18,.78,.22,1) both}
.pd-dialog--model .pd-3d-model{min-height:0;background:transparent;opacity:0;transition:opacity .28s ease;filter:drop-shadow(14px 20px 20px #051a3c33)}
.pd-dialog--model .pd-3d-view[data-state="ready"] .pd-3d-model{opacity:1}
.pd-3d-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(14px 20px 20px #051a3c33)}
.pd-dialog--model .pd-3d-status{inset:auto 0 -25px;min-height:30px;flex-direction:row;gap:10px;padding:4px 10px;background:transparent;pointer-events:none}
.pd-dialog--model .pd-3d-message{font-size:12px;color:#f2f7ff;line-height:1.5;text-shadow:0 1px 8px #06133255}
.pd-dialog--model .pd-3d-spinner{width:17px;height:17px;border-color:#ffffff29;border-top-color:#fff;flex-shrink:0}
.pd-dialog--model .pd-3d-view[data-state="error"] .pd-3d-status{inset:20% 0;flex-direction:column;pointer-events:auto}
.pd-dialog--model .pd-3d-retry{background:#f1f7ff;color:#0b2b53;border-radius:30px}
.pd-dialog--model .pd-3d-footer{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;flex-direction:column;align-items:center;gap:12px;border:0;background:transparent;padding:0;animation:pd-space-in .55s .35s both}
.pd-dialog--model .pd-3d-hint{font-size:11px;line-height:1.5;color:#fff;text-align:center;font-weight:400;letter-spacing:.02em;background:#071d3c99;padding:5px 12px;border-radius:18px}
.pd-dialog--model .pd-3d-controls{background:#071d3c8c;border:1px solid #ffffff32;border-radius:28px;padding:4px 7px;box-shadow:0 8px 24px #02112b1c;backdrop-filter:blur(18px)}
.pd-dialog--model .pd-3d-control{color:#fff;width:44px;min-height:42px;border-radius:50%;font-size:21px}
.pd-dialog--model .pd-3d-control:hover:enabled{background:#ffffff24}
.pd-dialog--model .pd-3d-reset{width:auto;padding:9px 15px;border:0;border-inline-start:1px solid #ffffff2b;border-radius:0 24px 24px 0;font-size:11px}
.pd-dialog--model .pd-3d-control:focus-visible{outline-color:#ffdb91}
.pd-dialog--model .pd-viewer-tabs{display:none;position:absolute;z-index:4;left:clamp(24px,5vw,88px);bottom:30px;gap:4px;border:1px solid #ffffff3b;border-radius:24px;padding:3px;background:#ffffff17;backdrop-filter:blur(12px)}
.pd-dialog--model .pd-viewer-tabs p,.pd-dialog--model .pd-viewer-model-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pd-dialog--model .pd-viewer-tab{padding:9px 13px;min-height:40px;border:0;border-radius:22px;font-size:11px;color:#fff}
.pd-dialog--model .pd-viewer-tab.pd-is-active{background:#ffffff26}
.pd-dialog--model[data-pd-mode-active="image"] .pd-viewer-tabs,.pd-dialog--model:has(.pd-3d-view:not([data-state="ready"])) .pd-viewer-tabs{display:flex}
.pd-dialog--model .pd-3d-view:not([data-state="ready"]) .pd-3d-footer{display:none}
.pd-dialog--model .pd-image-stage{position:absolute;inset:100px 15% 110px;background:transparent}
.pd-dialog--model .pd-viewer-footer{position:absolute;bottom:30px;right:clamp(24px,5vw,88px);max-width:calc(100% - 180px);padding:0;background:transparent}
.pd-dialog--model .pd-viewer-footer>p{display:none}
.pd-dialog--model .pd-zoom-controls{border-color:#ffffff50;border-radius:25px;color:#fff;background:#ffffff17;overflow:hidden}
.pd-dialog--model .pd-zoom-controls button{color:#fff}
@keyframes pd-object-arrive{0%{opacity:0;transform:translate(var(--pd-launch-x,0px),var(--pd-launch-y,100px)) scale(var(--pd-launch-scale,.55)) rotate(-5deg)}22%{opacity:1}78%{transform:translate(0,-9px) scale(1.025) rotate(.5deg)}100%{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
@keyframes pd-space-blur{from{background:rgba(6,20,49,0);backdrop-filter:blur(0px) saturate(1)}to{background:rgba(6,20,49,.47);backdrop-filter:blur(24px) saturate(.65)}}
@keyframes pd-orbit-in{from{opacity:0;transform:translate(-50%,12px) scale(.8)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes pd-space-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){
 .pd-dialog--model .pd-viewer-header{inset:22px 22px auto;padding:0}
 .pd-dialog--model .pd-viewer-header h2{font-size:24px}
 .pd-dialog--model .pd-viewer-header .pd-eyebrow{font-size:9px;margin-bottom:7px}
 .pd-dialog--model .pd-close{width:44px;height:44px}
 .pd-dialog--model .pd-model-badge{top:91px;left:22px;max-width:250px;font-size:10px}
 .pd-dialog--model .pd-3d-canvas{inset:108px 5px 118px}
 .pd-dialog--model:has(.pd-model-badge) .pd-3d-canvas{top:128px}
 .pd-dialog--model .pd-viewer::after{width:70vw;height:54px;bottom:112px}
 .pd-dialog--model .pd-3d-footer{bottom:max(22px,env(safe-area-inset-bottom));gap:12px}
 .pd-dialog--model .pd-3d-control{min-height:44px}
 .pd-dialog--model .pd-3d-hint{font-size:10px}
 .pd-dialog--model .pd-viewer-tabs{left:22px;bottom:26px}
 .pd-dialog--model[data-pd-mode-active="image"] .pd-viewer-tabs{bottom:82px}
 .pd-dialog--model .pd-viewer-footer{bottom:22px;right:22px;max-width:calc(100% - 44px)}
 .pd-dialog--model .pd-image-stage{inset:100px 8px 145px}
}
@media(max-height:520px){
 .pd-dialog--model .pd-viewer-header{inset:16px 24px auto}
 .pd-dialog--model .pd-viewer-header .pd-eyebrow{margin-bottom:5px}
 .pd-dialog--model .pd-viewer-header h2{font-size:23px}
 .pd-dialog--model .pd-3d-canvas,.pd-dialog--model:has(.pd-model-badge) .pd-3d-canvas{inset:18px 23% 82px}
 .pd-dialog--model .pd-model-badge{top:88px;left:24px;max-width:160px;font-size:10px}
 .pd-dialog--model .pd-viewer::after{bottom:74px;width:42vw;height:36px}
 .pd-dialog--model .pd-3d-footer{bottom:12px;gap:3px}
 .pd-dialog--model .pd-3d-hint{font-size:10px}
 .pd-dialog--model .pd-3d-control{min-height:40px}
}
@media(prefers-reduced-motion:reduce){
 .pd-dialog--model::backdrop,.pd-dialog--model[open] .pd-3d-canvas,.pd-dialog--model .pd-3d-footer,.pd-dialog--model .pd-viewer::after{animation:none}
 .pd-dialog--model .pd-3d-model,.pd-dialog--model .pd-close{transition:none}
}
