/* QTouch — fiche produit animée (QBOX / QTOTEM) : scroll cinématique, zooms, QOYU qui sortent du produit. JS : lib/site/pstory.js */
.ps{position:relative;height:520vh;background:#07050D;color:#fff}
.ps-pin{position:sticky;top:0;height:100vh;overflow:hidden;background:radial-gradient(60% 55% at 50% 58%,#2A1150 0%,#0B0716 60%,#05030A 100%)}
.ps-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.15);transition:none}
.ps-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,3,10,.88) 0%,rgba(5,3,10,.55) 42%,rgba(5,3,10,.15) 100%)}
.ps-floor{position:absolute;left:50%;bottom:6vh;width:70vh;height:12vh;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(242,107,29,.55),rgba(242,107,29,0));filter:blur(6px);pointer-events:none}
.ps-cam{position:absolute;left:50%;top:50%;will-change:transform}
.ps-dev{position:relative;height:100%;width:100%}
.ps-dev > img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 40px 50px rgba(0,0,0,.6)) drop-shadow(0 0 30px rgba(242,107,29,.35));user-select:none;-webkit-user-drag:none}
/* écran */
.ps-scr{position:absolute;overflow:hidden;border-radius:2.2% / 1.6%;background:linear-gradient(160deg,#FF9A3C,#F26B1D);opacity:0}
.ps-scr .tap{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);padding:.55em 1.1em;border-radius:99px;background:#fff;color:#1D1B26;font:700 clamp(7px,1.1vh,13px)/1 'Figtree',sans-serif;white-space:nowrap;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:psTap 1.4s infinite}
.ps-scr .fing{position:absolute;left:58%;top:58%;width:16%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:0 0 0 6px rgba(255,255,255,.25);animation:psFing 1.4s infinite}
@keyframes psTap{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 14px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes psFing{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(.78);opacity:.6}}
.ps-wheel{position:absolute;left:50%;top:50%;width:72%;aspect-ratio:1;transform:translate(-50%,-50%);opacity:0}
.ps-wheel i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#F26B1D 0 45deg,#fff 0 90deg,#F97316 0 135deg,#FDE68A 0 180deg,#F26B1D 0 225deg,#fff 0 270deg,#F97316 0 315deg,#FDBA74 0 360deg);border:4px solid #1D1B26;box-shadow:0 0 0 3px #fff,0 10px 30px rgba(0,0,0,.35)}
.ps-wheel i::after{content:"";position:absolute;left:50%;top:50%;width:18%;height:18%;transform:translate(-50%,-50%);border-radius:50%;background:#1D1B26;border:3px solid #fff}
.ps-wheel b{position:absolute;left:50%;top:-7%;width:0;height:0;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-top:14px solid #1D1B26;z-index:2}
.ps-win{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:.3em;text-align:center;background:radial-gradient(circle,#FF9A3C,#C2501A);opacity:0;font-family:'Figtree',sans-serif}
.ps-win b{font-size:clamp(12px,2.6vh,30px);font-weight:800;letter-spacing:-.02em}
.ps-win small{font-size:clamp(6px,1vh,12px);font-weight:600;opacity:.85}
.ps-win img{width:38%;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4))}
/* bac / tiroir */
.ps-tray{position:absolute;pointer-events:none}
.ps-tray .glow{position:absolute;inset:-30% -10%;border-radius:50%;background:radial-gradient(closest-side,rgba(253,186,116,.95),rgba(242,107,29,.5) 45%,rgba(242,107,29,0));opacity:0;mix-blend-mode:screen}
.ps-tray .ray{position:absolute;left:50%;bottom:30%;width:140%;height:260%;transform:translateX(-50%);background:conic-gradient(from 160deg at 50% 100%,transparent 0deg,rgba(255,255,255,.35) 8deg,transparent 16deg,rgba(253,186,116,.3) 24deg,transparent 32deg);opacity:0;mix-blend-mode:screen}
.ps-q{position:absolute;left:50%;top:40%;width:34%;aspect-ratio:1;margin:-17% 0 0 -17%;opacity:0;will-change:transform}
.ps-q img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.45))}
.ps-sp{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px 3px rgba(253,186,116,.9);opacity:0}
/* légendes */
.ps-cap{position:absolute;left:clamp(20px,6vw,96px);top:50%;width:min(440px,40vw);transform:translateY(-50%);font-family:'Figtree',sans-serif;pointer-events:none}
.ps-cap > div{position:absolute;left:0;top:0;transform:translateY(-50%);opacity:0;transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1)}
.ps-cap > div.on{opacity:1;transform:translateY(-50%)}
.ps-cap > div:not(.on){transform:translateY(calc(-50% + 24px))}
.ps-cap .k{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FDBA74}
.ps-cap .k i{width:22px;height:22px;border-radius:50%;background:#F26B1D;color:#fff;font-style:normal;display:grid;place-items:center;font-size:11px;letter-spacing:0}
.ps-cap h4{margin:14px 0 0;font-size:clamp(30px,3.8vw,58px);line-height:1.02;font-weight:800;letter-spacing:-.04em}
.ps-cap h4 em{font-style:normal;background:linear-gradient(90deg,#F97316,#C084FC);-webkit-background-clip:text;background-clip:text;color:transparent}
.ps-cap p{margin:16px 0 0;font-size:clamp(15px,1.25vw,19px);line-height:1.5;color:rgba(255,255,255,.72)}
.ps-dots{position:absolute;right:clamp(16px,3vw,40px);top:50%;transform:translateY(-50%);display:grid;gap:10px}
.ps-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);transition:.3s}
.ps-dots i.on{background:#F97316;height:26px;border-radius:6px}
.ps-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font:600 12px/1 'Figtree',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:8px;transition:opacity .4s}
.ps-hint::after{content:"";width:1px;height:22px;background:linear-gradient(#fff,transparent);animation:psHint 1.6s infinite}
@keyframes psHint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* galerie */
.ps-gal{background:#07050D;color:#fff;padding:90px 0 110px;font-family:'Figtree',sans-serif}
.ps-gal h3{max-width:1080px;margin:0 auto;padding:0 24px;font-size:clamp(30px,3.6vw,52px);font-weight:700;letter-spacing:-.035em;line-height:1.05}
.ps-gal h3 span{color:rgba(255,255,255,.5)}
.ps-row{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:40px max(24px,calc((100vw - 1080px)/2)) 10px;scrollbar-width:none}
.ps-row::-webkit-scrollbar{display:none}
.ps-card{position:relative;flex:0 0 min(78vw,760px);aspect-ratio:16/10;border-radius:28px;overflow:hidden;scroll-snap-align:center;background:#140D24;opacity:.35;transform:scale(.94);transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1)}
.ps-card.in{opacity:1;transform:none}
.ps-card > img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 6s ease-out}
.ps-card.in > img.bg{transform:scale(1)}
.ps-card > img.pd{position:absolute;bottom:4%;height:84%;width:auto;filter:drop-shadow(0 30px 30px rgba(0,0,0,.5));transform:translateY(30px);opacity:0;transition:1s .3s cubic-bezier(.2,.8,.2,1)}
.ps-card.in > img.pd{transform:none;opacity:1}
.ps-card .qq{position:absolute;width:13%;aspect-ratio:1;opacity:0;transform:translateY(40px) scale(.4);transition:.9s cubic-bezier(.3,1.6,.5,1)}
.ps-card .qq img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.45))}
.ps-card.in .qq{opacity:1;transform:none}
.ps-card .lb{position:absolute;left:22px;bottom:20px;z-index:2;padding:10px 14px;border-radius:14px;background:rgba(10,6,20,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;font-weight:600}
.ps-card .lb small{display:block;font-size:12px;font-weight:500;color:rgba(255,255,255,.65);margin-top:2px}
.ps-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));pointer-events:none}
@media(max-width:820px){
  .ps{height:460vh}
  .ps-cap{left:20px;right:20px;width:auto;top:auto;bottom:9vh;transform:none}
  .ps-cap > div{top:auto;bottom:0;transform:none}
  .ps-cap > div.on{transform:none}.ps-cap > div:not(.on){transform:translateY(20px)}
  .ps-cap h4{font-size:30px}.ps-cap p{font-size:14px;margin-top:8px}
  .ps-pin::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46vh;background:linear-gradient(transparent,rgba(5,3,10,.92));pointer-events:none}
  .ps-cap{z-index:3}.ps-dots{display:none}
}
@media(prefers-reduced-motion:reduce){.ps{height:auto}.ps-pin{position:relative}}
/* ---------- QWALL (thème clair) ---------- */
.ps.lt{background:#F6F1EA;color:#1D1B26}
.ps.lt .ps-pin{background:radial-gradient(55% 60% at 60% 55%,#FFF7EA 0%,#F6EEE3 45%,#ECE4F4 100%)}
.ps.lt .ps-floor{background:radial-gradient(closest-side,rgba(167,139,250,.45),rgba(167,139,250,0));bottom:5vh}
.ps.lt .ps-dev > img{filter:none;drop-shadow:none}
.ps.lt .ps-led{position:absolute;left:20%;right:20%;top:12%;bottom:22%;border-radius:40% / 22%;background:radial-gradient(closest-side,rgba(255,206,140,.55),rgba(255,206,140,0));mix-blend-mode:soft-light;pointer-events:none;opacity:0}
.ps-pq{position:absolute;transform:translate(-50%,-100%) scale(var(--is,1));transform-origin:50% 100%;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;transition:opacity .45s,transform .6s cubic-bezier(.3,1.5,.5,1);pointer-events:none}
.ps-pq.on{opacity:1}
.ps-pq:not(.on){transform:translate(-50%,-80%) scale(var(--is,1))}
.ps-pq b{order:-1;white-space:nowrap;padding:8px 13px;border-radius:12px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 26px rgba(60,30,110,.18);font:700 14px/1 'Figtree',sans-serif;color:#1D1B26}
.ps-pq i{width:14px;height:14px;border-radius:50%;background:#F26B1D;box-shadow:0 0 0 5px rgba(242,107,29,.22);animation:psPq 1.6s infinite}
@keyframes psPq{0%,100%{box-shadow:0 0 0 4px rgba(242,107,29,.25)}50%{box-shadow:0 0 0 11px rgba(242,107,29,0)}}
.ps-rent{position:absolute;transform:translate(-50%,0) scale(var(--is,1));transform-origin:50% 0;padding:12px 18px;border-radius:16px;background:#1D1B26;color:#fff;font-family:'Figtree',sans-serif;text-align:center;box-shadow:0 18px 40px rgba(29,27,38,.3);opacity:0;transition:opacity .5s,transform .6s cubic-bezier(.3,1.5,.5,1)}
.ps-rent.on{opacity:1}
.ps-rent small{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,.7)}
.ps-rent b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em;margin-top:4px;color:#FDBA74}
.ps-phone{position:absolute;right:clamp(16px,6vw,110px);top:50%;width:min(240px,26vw);aspect-ratio:9/18.5;border-radius:36px;background:#1D1B26;padding:10px;box-shadow:0 40px 80px rgba(29,27,38,.35);opacity:0;pointer-events:none;z-index:2}
.ps-phone .sc{height:100%;border-radius:28px;background:#fff;padding:18px 16px;display:flex;flex-direction:column;font-family:'Figtree',sans-serif;color:#1D1B26;overflow:hidden}
.ps-phone .hd span{font-weight:800;font-size:15px}.ps-phone .hd small{display:block;font-size:11px;color:#6A6678;margin-top:2px}
.ps-phone .pi{margin:14px 0 12px;border-radius:18px;background:linear-gradient(160deg,#FFF3E2,#EDE6FB);aspect-ratio:1;display:grid;place-items:center}
.ps-phone .pi .w{width:38%;aspect-ratio:.8;border-radius:22%;background:#2B2738;box-shadow:inset 0 0 0 5px #E8E4EE,0 12px 20px rgba(0,0,0,.15);position:relative}
.ps-phone .pi .w::after{content:"";position:absolute;inset:22% 20%;border-radius:18%;background:linear-gradient(135deg,#F26B1D,#FDBA74)}
.ps-phone b{font-size:16px}.ps-phone small{font-size:12px;color:#6A6678}
.ps-phone .pr{font-size:24px;font-weight:800;margin-top:auto}
.ps-phone button{margin-top:10px;border:0;border-radius:99px;padding:12px;background:#F26B1D;color:#fff;font:700 14px/1 'Figtree',sans-serif}
.ps-stats{position:absolute;right:clamp(16px,5vw,90px);bottom:9vh;display:grid;grid-template-columns:repeat(3,auto);gap:14px;opacity:0;font-family:'Figtree',sans-serif;z-index:2}
.ps-stats > div{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:16px 20px;box-shadow:0 14px 34px rgba(60,30,110,.12);min-width:130px}
.ps-stats b{font-size:34px;font-weight:800;letter-spacing:-.03em}.ps-stats span{font-size:20px;font-weight:800;color:#F26B1D;margin-left:2px}
.ps-stats small{display:block;font-size:12.5px;color:#6A6678;margin-top:4px;font-weight:600}
.ps-stats p{grid-column:1/-1;margin:0;font-size:11px;color:#8A8698;text-align:right}
.ps.lt .ps-cap .k{color:#F26B1D}
.ps.lt .ps-cap p{color:#5B5768}
.ps.lt .ps-cap h4 em{background:linear-gradient(90deg,#F26B1D,#F97316);-webkit-background-clip:text;background-clip:text}
.ps.lt .ps-dots i{background:rgba(29,27,38,.18)}
.ps.lt .ps-hint{color:rgba(29,27,38,.45)}.ps.lt .ps-hint::after{background:linear-gradient(#1D1B26,transparent)}
.p6-sh-buy .im img[src*="qwall"],.p6-ci img[src*="qwall"],.p6-sh-hero img[src*="qwall.jpg"]{mix-blend-mode:multiply}
@media(max-width:820px){
  .ps.lt .ps-pin::after{background:linear-gradient(rgba(246,241,234,0),rgba(246,241,234,.95))}
  .ps-phone{width:150px;top:34%;right:12px}
  .ps-stats{left:16px;right:16px;bottom:auto;top:12vh;grid-template-columns:repeat(3,1fr);gap:8px}
  .ps-stats > div{min-width:0;padding:10px}.ps-stats b{font-size:22px}.ps-stats small{font-size:10.5px}
  .ps-pq b{font-size:12px;padding:6px 9px}
}
.ps-gal.lt{background:#F6F1EA;color:#1D1B26}.ps-gal.lt h3 span{color:#8A8698}.ps-gal.lt .ps-card{background:#EDE6F5}
.ps-gal.lt .ps-card .lb{color:#fff}
/* QBOX v5 : pub → scannette → jeu par-dessus la pub ; palette orange */
.ps-scr{border-radius:1.2%/0.8%;background:#000}
.ps-ad{position:absolute;inset:0;font-family:'Figtree',sans-serif;transition:filter .3s}
.ps-ad>img{width:100%;height:100%;object-fit:cover;display:block}
.ps-ad .ch{position:absolute;left:5%;top:3%;padding:.35em .7em;border-radius:99px;background:rgba(255,255,255,.92);color:#15130F;font-size:clamp(6px,1vh,11px);font-weight:800}
.ps-ad .bar{position:absolute;left:5%;right:5%;top:1.2%;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.ps-ad .bar i{position:absolute;inset:0;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
.ps-ad .qrc{position:absolute;left:50%;bottom:6%;width:62%;display:grid;justify-items:center;gap:.3em;padding:6% 5% 5%;border-radius:12px;background:#fff;color:#15130F;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.4);opacity:0;transform:translate(-50%,20%)}
.ps-ad .qrc img{width:60%;display:block}
.ps-ad .qrc b{font-size:clamp(6px,1.1vh,13px);font-weight:800;color:#F26B1D}
.ps-ad .qrc span{font-size:clamp(8px,1.4vh,16px);font-weight:900;color:#F26B1D;animation:psBob 1s ease-in-out infinite}
@keyframes psBob{50%{transform:translateY(25%)}}
.ps-wheel i{background:conic-gradient(#F26B1D 0 45deg,#fff 0 90deg,#15130F 0 135deg,#FDBA74 0 180deg,#F26B1D 0 225deg,#fff 0 270deg,#15130F 0 315deg,#FDBA74 0 360deg)!important}
.ps-win{background:radial-gradient(circle,#FF9A3C,#C2501A)!important}
.ps-scan{position:absolute;--b:0}
.ps-scan .bm{position:absolute;inset:-12%;border-radius:12px;box-shadow:0 0 0 calc(var(--b)*3px) #F26B1D,0 0 calc(var(--b)*40px) calc(var(--b)*8px) rgba(242,107,29,.8);opacity:var(--b)}
.ps-scan .okk{position:absolute;left:50%;top:115%;transform:translateX(-50%);padding:.3em .7em;border-radius:99px;background:#22C55E;color:#fff;font:800 clamp(6px,1vh,11px)/1 'Figtree',sans-serif;white-space:nowrap;opacity:0;transition:opacity .3s}
.ps-scan.ok .okk{opacity:1}
.ps-scan .pho{position:absolute;left:50%;top:0;width:70%;aspect-ratio:9/16;border-radius:14%;background:#15130F;padding:7%;box-shadow:0 10px 24px rgba(0,0,0,.5);opacity:0}
.ps-scan .pho img{width:100%;margin-top:30%;background:#fff;border-radius:6%}
.ps-cap .k{color:#FDBA74!important}.ps-cap .k i{background:#F26B1D!important}
.ps-cap h4 em{background:none!important;-webkit-text-fill-color:#F26B1D!important;color:#F26B1D!important}
.ps-dots i.on{background:#F26B1D}

.ps{background:#0C0A09}
.ps-pin{background:radial-gradient(60% 55% at 60% 58%,#3A1D0C 0%,#100B08 60%,#070504 100%)}
.ps.lt .ps-pin{background:radial-gradient(55% 60% at 60% 55%,#FFF7EA 0%,#F6EEE3 45%,#EFE3D3 100%)}
.ps.lt .ps-floor{background:radial-gradient(closest-side,rgba(242,107,29,.25),rgba(242,107,29,0))}
/* QVitrine : façade-écran */
.vs{padding:70px clamp(20px,5vw,72px);background:linear-gradient(180deg,#FBEDE3,#F3D9C6);color:#15130F;font-family:'Figtree',sans-serif}
.vs-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.3fr;gap:40px;align-items:center}
.vs .k{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#F26B1D}
.vs h3{margin:12px 0 0;font-family:'Figtree',sans-serif;font-weight:600;font-size:clamp(30px,3.6vw,52px);line-height:1;letter-spacing:-.045em}
.vs h3 em{font-style:normal;color:#F26B1D}
.vs-tg{display:inline-flex;gap:4px;margin-top:22px;padding:4px;border-radius:99px;background:#fff}
.vs-tg button{border:0;padding:9px 14px;border-radius:99px;background:none;font:700 13px/1 'Figtree',sans-serif;color:#6B6358;cursor:pointer}
.vs-tg button.on{background:#15130F;color:#fff}
.vs ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}
.vs li{display:flex;gap:12px;align-items:flex-start}
.vs li i{flex:none;width:34px;height:34px;border-radius:10px;background:#F26B1D;position:relative}
.vs li i::after{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:800 15px/34px 'Figtree',sans-serif;text-align:center}
.vs .ic-scr::after{content:"▭"}.vs .ic-shd::after{content:"◆"}.vs .ic-drp::after{content:"";inset:9px 11px 8px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#fff}.vs .ic-ad::after{content:"▶"}
.vs li b{display:block;font-size:16px}.vs li small{display:block;margin-top:2px;font-size:14px;line-height:1.45;color:#6B6358}
.vs-dev{position:relative}
.vs-dev>img{width:100%;display:block;filter:drop-shadow(0 30px 40px rgba(60,30,10,.25))}
.vs-scr{position:absolute;overflow:hidden;transition:opacity .6s}
.vs-scr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}
.vs-scr img.on{opacity:.82}
.vs-scr .gl{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.35),transparent 40%,transparent 70%,rgba(255,255,255,.15))}
.vs-scr .lv{position:absolute;right:20%;top:22%;display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;background:#F26B1D;color:#fff;font-size:11px;font-weight:800}
.vs-scr .lv i{width:6px;height:6px;border-radius:50%;background:#fff;animation:mlBl 1s infinite}
.vs-dev.off .vs-scr{opacity:0}
.vs-drop{position:absolute;top:18%;width:8px;height:12px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:rgba(120,180,230,.75);animation:vsDrop 2.4s linear infinite;opacity:0}
.vs-drop.d1{left:30%}.vs-drop.d2{left:52%;animation-delay:.8s}.vs-drop.d3{left:70%;animation-delay:1.6s}
@keyframes vsDrop{0%{opacity:0;transform:translateY(-60px)}15%{opacity:1}60%{opacity:1;transform:translateY(40px)}70%{opacity:0;transform:translateY(46px) scaleX(2) scaleY(.3)}100%{opacity:0}}
@media(max-width:860px){.vs-in{grid-template-columns:1fr}}
/* QVitrine : zoom sur le dessus, l'écran du haut vu de dessus */
.vs-tg{flex-wrap:wrap}
.vs-dev>img,.vs-scr,.vs-drop{transition:transform 1s cubic-bezier(.65,0,.35,1),opacity .6s;transform-origin:50% 24%}
.vs-dev.zt>img,.vs-dev.zt .vs-scr{transform:scale(2.2) translateY(6%);opacity:0}
.vs-dev.zt .vs-drop{opacity:0!important}
.vs-top{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:16px;pointer-events:none;opacity:0;transition:opacity .6s}
.vs-dev.top .vs-top{opacity:1}
.vs-top .lid{position:relative;width:86%;aspect-ratio:2.2/1;border-radius:22px;background:linear-gradient(160deg,#2A2622,#0E0C0B);padding:3.2%;box-shadow:0 40px 60px -30px rgba(60,30,10,.5),inset 0 0 0 2px #3A342E,0 0 0 3px rgba(242,107,29,.5);transform:perspective(900px) rotateX(55deg) scale(.8);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.vs-dev.top .vs-top .lid{transform:perspective(900px) rotateX(12deg) scale(1)}
.vs-top .ts{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;background:#000;container-type:inline-size}
.vs-top .ts>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}.vs-top .ts>img.on{opacity:1}
.vs-top .tq{position:absolute;right:3%;top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:1cqw;padding:2cqw;border-radius:2.4cqw;background:#fff;color:#15130F;font:800 2.4cqw/1 'Figtree',sans-serif}
.vs-top .tq img{width:16cqw;display:block}
.vs-top .lv{position:absolute;left:3%;top:6%;display:flex;align-items:center;gap:1cqw;padding:1cqw 2cqw;border-radius:99px;background:#F26B1D;color:#fff;font:800 2.6cqw/1 'Figtree',sans-serif}
.vs-top .lv i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#fff}
.vs-top .lg{position:absolute;left:50%;bottom:-11%;width:18%;transform:translateX(-50%)}
.vs-top small{font-size:14px;color:#6B6358;max-width:36ch;text-align:center}
/* objets posés sur la table (vue du dessus) */
.vs-top .lid{aspect-ratio:1.9/1}
.vs-top .obj{position:absolute;z-index:3;border-radius:50%;opacity:0;transform:translateY(-30px) scale(1.2);transition:opacity .4s,transform .7s cubic-bezier(.3,1.5,.5,1)}
.vs-dev.top .vs-top .obj{opacity:1;transform:none}
.vs-top .cup{left:12%;top:14%;width:15%;aspect-ratio:1;background:radial-gradient(circle at 50% 50%,#6B3A1E 0 46%,#F5EFE6 47% 62%,rgba(255,255,255,.9) 63% 100%);box-shadow:0 10px 18px rgba(0,0,0,.35);transition-delay:.25s}
.vs-top .cup.c2{left:30%;top:52%;width:13%;transition-delay:.4s}
.vs-top .plate{left:55%;top:58%;width:20%;aspect-ratio:1;background:radial-gradient(circle,#E9C08A 0 30%,#F7F3EC 31% 100%);box-shadow:0 10px 18px rgba(0,0,0,.3);transition-delay:.55s}
.vs-top .phone{left:40%;top:10%;width:9%;aspect-ratio:9/19;border-radius:14%;background:#15130F;box-shadow:inset 0 0 0 3px #2B2723,0 10px 18px rgba(0,0,0,.35);transform:rotate(-14deg);transition-delay:.7s}
.vs-dev.top .vs-top .phone{transform:rotate(-14deg)}
.vs-top .tq{right:4%}
.ps-phone .pi{padding:0;overflow:hidden;background:#F4EEE5}.ps-phone .pi img{width:100%;height:100%;object-fit:cover}
.ps-phone .rt{margin-top:6px;font-size:12px;color:#F26B1D}.ps-phone .rt span{color:#6B6358}
.ps-phone .cl{display:flex;gap:6px;margin-top:8px}.ps-phone .cl i{width:16px;height:16px;border-radius:50%;box-shadow:0 0 0 1px #DDD5C8}.ps-phone .cl i:first-child{box-shadow:0 0 0 2px #F26B1D}
.ps-phone button{background:#F26B1D!important}
.ps-phone .pr{margin-top:auto;font-size:26px}

/* QBOX : écran propre (sans barre blanche) + interaction */
.ps-ad .ch,.ps-ad .bar{display:none!important}
.ps-scr{container-type:inline-size}
.ps-int{position:absolute;inset:0;z-index:5;font-family:'Figtree',sans-serif;pointer-events:none}
.ps-int .pi-hint{position:absolute;left:50%;top:40%;translate:-50% -50%;padding:3.6cqw 6cqw;border:0;border-radius:99px;background:#fff;color:#15130F;font:800 6cqw/1 'Figtree',sans-serif;white-space:nowrap;cursor:pointer;animation:psTap 1.4s infinite;opacity:0;scale:.8;transition:opacity .35s,scale .4s cubic-bezier(.3,1.6,.5,1)}
.ps-canint .ps-int:not(.on) .pi-hint{opacity:1;scale:1;pointer-events:auto}
.ps-int .pi-s{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:center;gap:3.6cqw;padding:9cqw;text-align:center;color:#15130F;background:radial-gradient(70% 40% at 15% 10%,#FFE3CC,transparent 70%),radial-gradient(60% 40% at 90% 90%,#FFD3B5,transparent 70%),#FFF8F1;opacity:0;transform:scale(1.04);transition:opacity .45s,transform .5s}
.ps-int.s-a .pi-a,.ps-int.s-b .pi-b,.ps-int.s-m .pi-m,.ps-int.s-c .pi-c,.ps-int.s-r .pi-r,.ps-int.s-q .pi-q{opacity:1;transform:none;pointer-events:auto}
.pi-s>*{max-width:100%;box-sizing:border-box}
.pi-s h5{margin:0;font:900 10.5cqw/1 'Figtree',sans-serif;letter-spacing:-.03em;text-transform:uppercase;color:#15130F}
.pi-s p{margin:0;font-size:5.4cqw;font-weight:600;line-height:1.35;color:#3B352E}
.pi-s small{font-size:5cqw;color:#6B6358;font-weight:600}
.pi-s button{border:0;border-radius:99px;padding:3.6cqw 6cqw;background:#F26B1D;color:#fff;font:800 5.4cqw/1 'Figtree',sans-serif;cursor:pointer;box-shadow:0 1.4cqw 0 #C2501A}
.pi-s button.o{background:#fff;color:#15130F;box-shadow:inset 0 0 0 .6cqw #15130F,0 1.4cqw 0 #15130F}
.pi-a>img,.pi-c>img{width:52cqw;animation:psBob 1.4s ease-in-out infinite}
.pi-a .br{padding:1.6cqw 4cqw;border-radius:99px;background:#15130F;color:#fff;font-size:4.4cqw;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pi-a .bt{display:flex;gap:3cqw}
.pi-b .ar{font-size:16cqw;font-weight:900;color:#F26B1D;animation:psBob 1s ease-in-out infinite}
.pi-b button{font-size:4.4cqw}
.pi-c h5{color:#F26B1D;font-size:15cqw}
.pi-c .pt{padding:3cqw 7cqw;border-radius:4cqw;background:#FFE3CC;box-shadow:inset 0 0 0 .6cqw #15130F,0 1.4cqw 0 #15130F;font:900 8cqw/1 'Figtree',sans-serif}
.pi-c .ck{font-size:4.4cqw;color:#16A34A;font-weight:700}
.pi-r .rw{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4cqw;width:100%}
.pi-r .rw span{position:relative;border-radius:3cqw;overflow:hidden;aspect-ratio:.8;box-shadow:inset 0 0 0 .6cqw #15130F}
.pi-r .rw img{width:100%;height:100%;object-fit:cover;display:block}
.pi-r .rw span:not(.on) img{filter:grayscale(1) brightness(.6)}
.pi-r .rw b{position:absolute;left:0;right:0;bottom:2cqw;color:#fff;font-size:3.4cqw;text-shadow:0 .4cqw 1cqw rgba(0,0,0,.6)}
.pi-r .rw span.on{box-shadow:inset 0 0 0 .8cqw #F26B1D}
.pi-q .op{display:grid;grid-template-columns:1fr 1fr;gap:2.6cqw;width:100%}
.pi-q .op button{padding:4cqw 2cqw;font-size:4.6cqw}
.pi-q .op button.on{background:#FFE3CC}
.pi-q .dn{padding:2.6cqw 5cqw;border-radius:99px;background:#16A34A;color:#fff;font-weight:800;font-size:5cqw;opacity:0;scale:.6;transition:.4s cubic-bezier(.3,1.6,.5,1)}
.ps-int.dn .pi-q .dn{opacity:1;scale:1}
.pi-q .x{font-size:4.4cqw;padding:2.6cqw 5cqw}
/* téléphone qui bipe le lecteur NFC */
.pi-ph{position:absolute;left:50%;top:84%;width:13%;aspect-ratio:9/18;translate:-50% 0;border-radius:1.6cqw;background:#15130F;padding:.5cqw;box-shadow:0 2cqw 4cqw rgba(0,0,0,.5);opacity:0;transform:translateY(40%) rotate(-12deg);transition:opacity .4s,transform .9s cubic-bezier(.22,1,.36,1);z-index:6;pointer-events:none}
.pi-ph.in{opacity:1;transform:translateY(-58%) rotate(-4deg)}
.pi-ph .sc{height:100%;border-radius:1.2cqw;background:linear-gradient(160deg,#FF9A3C,#F26B1D);display:grid;place-items:center;align-content:center;gap:.6cqw;color:#fff}
.pi-ph .sc b{font-size:1.8cqw;font-weight:900}.pi-ph .sc small{font-size:1.4cqw;opacity:.9}
.pi-ph .sc i{width:3.4cqw;height:3.4cqw;border-radius:50%;background:#fff;color:#16A34A;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:2cqw;scale:0;transition:scale .35s cubic-bezier(.3,1.6,.5,1)}
.pi-ph.ok .sc i{scale:1}
.pi-ph .wv{position:absolute;left:50%;bottom:-6%;width:160%;aspect-ratio:1;translate:-50% 50%;border-radius:50%;border:.5cqw solid rgba(242,107,29,.9);opacity:0}
.pi-ph.in .wv{animation:piWave 1.1s .5s ease-out 2}
@keyframes piWave{from{transform:scale(.2);opacity:1}to{transform:scale(1);opacity:0}}
.pi-in{display:flex;align-items:center;gap:3cqw;width:100%;box-sizing:border-box;padding:4cqw 5cqw;border-radius:4cqw;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 .6cqw rgba(255,255,255,.35)}
.pi-in span{color:#FFB36B;font-weight:800;font-size:6cqw}
.pi-in input{flex:1;min-width:0;border:0;outline:0;background:none;color:#fff;font:700 6cqw/1.2 'Figtree',sans-serif}
.pi-in input::placeholder{color:rgba(255,255,255,.45)}
.pi-m em{font-style:normal;font-size:5cqw;color:#D9CFC4;font-weight:600}
.pi-m>img{width:34cqw;padding:3cqw;border-radius:4cqw;background:#fff}


.pi-s{grid-template-columns:minmax(0,1fr)}.pi-m>*{max-width:100%;box-sizing:border-box}
.ps-mods{top:0;bottom:0}
.ps-mods span{top:61%}
.ps-mods span.up{top:auto;bottom:calc(100% - 48.2%)}
.ps-mods span.up::before{top:auto;bottom:-1cqw;border-bottom:0;border-top:1cqw solid #fff}

.pi-in{background:#fff!important;box-shadow:inset 0 0 0 .6cqw #15130F!important}
.pi-in input{color:#15130F!important}.pi-in input::placeholder{color:#B5AC9F!important}
.pi-m em,.pi-m>img{display:none}

/* QVitrine fine : écran transparent en façade */
.ps[data-k=qvitrine] .ps-scr{border-radius:0;background:transparent}
.ps[data-k=qvitrine] .ps-ad{opacity:.82;mix-blend-mode:multiply}
.ps[data-k=qvitrine] .ps-ad .qrc{display:none}

.ps[data-k=qvitrine] .ps-ad{opacity:0!important}

/* QVitrine : toute l'animation sur un téléphone posé à côté */
.ps[data-k=qvitrine] .ps-scr,.ps[data-k=qvitrine] .ps-scan .pho,.ps[data-k=qvitrine] .ps-scan .okk,.ps[data-k=qvitrine] .ps-q,.ps[data-k=qvitrine] .ps-sp{display:none!important}
.ps[data-k=qvitrine] .ps-cap{width:min(380px,30vw)}
.qv-ph{position:absolute;right:clamp(56px,6.5vw,120px);top:50%;width:clamp(150px,13vw,210px);aspect-ratio:9/19.5;border-radius:28px;background:#15130F;padding:7px;box-shadow:inset 0 0 0 2px #3A352F,0 30px 60px -20px rgba(60,30,10,.45),0 10px 24px rgba(0,0,0,.18);opacity:0;z-index:4;font-family:'Figtree',sans-serif;will-change:transform}
.qv-notch{position:absolute;left:50%;top:13px;width:32%;height:14px;border-radius:9px;background:#15130F;transform:translateX(-50%)}
.qv-scr{position:relative;width:100%;height:100%;border-radius:22px;overflow:hidden;background:#1D1B26}
.qv-s{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#fff;opacity:0;transition:opacity .45s;padding:14% 10%}
.qv-s.on{opacity:1}
.qv-home{background:linear-gradient(160deg,#F97316,#C2410C 60%,#7C2D12)}
.qv-home .qv-t{position:absolute;top:5%;left:12%;font-size:11px;font-weight:700}
.qv-home .qv-logo{width:30%;filter:brightness(0) invert(1) drop-shadow(0 6px 12px rgba(0,0,0,.25))}
.qv-home b{font-size:17px;font-weight:800;letter-spacing:-.02em}
.qv-home small{font-size:11px;line-height:1.35;opacity:.85}
.qv-home .qv-cam{margin-top:6px;width:42px;height:42px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 0 rgba(255,255,255,.6);animation:qvPulse 1.6s infinite}
@keyframes qvPulse{70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.qv-scan{background:radial-gradient(80% 60% at 50% 40%,#3B2A20,#120E0B)}
.qv-vf{position:relative;width:74%;aspect-ratio:1;display:grid;place-items:center}
.qv-vf img{width:78%;background:#fff;border-radius:8px;padding:6%}
.qv-c{position:absolute;width:22%;height:22%;border:3px solid #F97316}
.qv-c.a{left:0;top:0;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.qv-c.b{right:0;top:0;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.qv-c.c{left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 10px}.qv-c.d{right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 10px 0}
.qv-line{position:absolute;left:8%;right:8%;height:2px;background:#F97316;box-shadow:0 0 12px #F97316}
.qv-ok{padding:.4em .8em;border-radius:99px;background:#22C55E;font-size:12px;font-weight:800;opacity:0}
.qv-scan small{font-size:10px;opacity:.7}
.qv-game{padding:0}.qv-game img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qv-sc{position:absolute;top:9%;right:8%;padding:.35em .7em;border-radius:99px;background:rgba(0,0,0,.55);font-size:12px;font-weight:800;color:#FCD34D}.qv-sc b{color:#fff}
.qv-win{background:radial-gradient(70% 50% at 50% 35%,#FDBA74,#F97316 55%,#9A3412)}
.qv-win img{width:58%;filter:drop-shadow(0 10px 18px rgba(0,0,0,.3));animation:qvBob 1.6s ease-in-out infinite}@keyframes qvBob{50%{transform:translateY(-6%)}}
.qv-win b{font-size:22px;font-weight:900;letter-spacing:-.02em}
.qv-pts{padding:.3em .8em;border-radius:99px;background:#fff;color:#C2410C;font-size:13px;font-weight:900}
.qv-win small{font-size:11px;line-height:1.35}
.qv-win em{font-style:normal;font-size:9.5px;opacity:.8;margin-top:4px}
@media (max-width:819px){.qv-ph{top:36%;right:16px;width:30vw;max-width:150px;border-radius:22px;padding:5px}.qv-scr{border-radius:18px}.qv-home b{font-size:14px}.qv-win b{font-size:16px}}

/* Steeve : « enlève l'animation de jeu à l'intérieur, très moche » — plus de roue ni de doigt sur l'écran du produit */
.ps .ps-wheel,.ps .ps-scr .tap,.ps .ps-scr .fing{display:none!important}
