/* PupVibes Studio 0.6.163 — 360° continu, mug blanc classique réaliste */
.pv-360-toolbar{display:flex;align-items:center;gap:8px;margin:10px 0 12px;flex-wrap:wrap}
.pv-360-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:36px;padding:0 10px;border-radius:999px;background:#111;color:#fff;font-weight:800;font-size:14px;letter-spacing:.02em}
.pv-360-toolbar button{appearance:none;border:1px solid #ded8ce;background:#fff;color:#171717;border-radius:999px;min-height:36px;padding:0 14px;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.pv-360-toolbar button:hover{transform:translateY(-1px);border-color:#fc8501}.pv-360-toolbar .pv-360-step{width:38px;padding:0;font-size:24px;line-height:1}.pv-360-toolbar.is-playing .pv-360-auto{background:#fc8501;border-color:#fc8501;color:#fff}.pv-360-hint{font-size:13px;color:#70685f;margin-left:3px}
.pv-preview-viewport--3603d{overflow:hidden;background:#f4efe4}
.pv-preview-inner--3603d{position:relative;min-height:560px;overflow:hidden;background:transparent}
.pv-preview-inner--3603d .pv-preview-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden}.pv-preview-inner--3603d .pv-preview-backdrop img{width:100%;height:100%;object-fit:cover;display:block}
.pv-360-stage{position:relative;z-index:1;width:100%;min-height:560px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;isolation:isolate}
.pv-360-stage::after{content:"";position:absolute;left:50%;bottom:10.5%;width:38%;height:6%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(56,48,38,.17) 0%,rgba(56,48,38,.08) 42%,rgba(56,48,38,0) 75%);filter:blur(5px);z-index:-1;pointer-events:none}
.pv-360-stage.is-dragging{cursor:grabbing}.pv-360-stage canvas{display:block;width:100%;height:560px;max-height:72vh;outline:none;position:relative;z-index:1}
.pv-360-loading{position:absolute;inset:auto 50% 24px auto;transform:translateX(50%);padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid #e4ddd2;color:#6d6258;font-size:12px;white-space:nowrap;backdrop-filter:blur(6px)}
.pv-360-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;color:#6d6258;font-size:13px;background:rgba(255,255,255,.72)}
.pv-360-source{position:absolute!important;left:-99999px!important;top:-99999px!important;width:800px!important;height:800px!important;overflow:hidden!important;pointer-events:none!important;opacity:0!important}.pv-360-source #pvCanvas{position:static!important;width:100%!important;transform:none!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
@media(max-width:700px){.pv-360-toolbar{gap:6px;margin-top:8px}.pv-360-hint{width:100%;margin:1px 0 0;font-size:12px;text-align:center}.pv-360-toolbar .pv-360-auto{flex:1;min-width:120px}.pv-preview-inner--3603d,.pv-360-stage{min-height:390px}.pv-360-stage canvas{height:390px;max-height:none}.pv-360-stage::after{bottom:9%;width:48%;height:7%}}

/* 0.6.163 — proportions du mug corrigées : un peu plus haut et ombre resserrée. */
.pv-360-stage::after{bottom:11.2%;width:31%;height:4.8%;filter:blur(6px);opacity:.72}
@media(max-width:700px){.pv-360-stage::after{bottom:10%;width:39%;height:5.5%}}


/* 0.6.175 — rendu hybride photo + design 360 pour les objets de révolution.
   Le vrai mockup photo reste fixe (un verre/gobelet/bouteille est symétrique autour
   de son axe) et seul le design tourne sur une coque WebGL transparente. */
.pv-360-photo-base{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1;pointer-events:none;user-select:none;-webkit-user-drag:none}
.pv-360-stage.is-photo-hybrid .pv-360-photo-base{display:block}
.pv-360-stage.is-photo-hybrid canvas{z-index:2!important}
.pv-360-stage.is-photo-hybrid::after{display:none!important}
.pv-360-stage.is-photo-hybrid{background:transparent}
