/* QTouch — « Pas juste une télé » (JS : lib/site/tvz.js) — fond sombre, TV au centre, plan technique qui se matérialise */
.lv6-cn.tvx{display:none!important}
.tvz{position:relative;height:560vh;background:#15130F;color:#F3EEE6;font-family:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.tz-pin{position:sticky;top:0;height:100vh;overflow:hidden;background:radial-gradient(60% 55% at 50% 50%,#2A2318 0%,#15130F 70%)}
.tz-pin::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(242,107,29,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(242,107,29,.07) 1px,transparent 1px);background-size:48px 48px;opacity:calc(1 - var(--p,0) * 2.2);pointer-events:none}
.tz-l{position:absolute;left:max(24px,5vw);top:50%;transform:translateY(-50%);width:min(380px,28vw);z-index:3}
.tz-l h2{margin:14px 0 0;font-family:'Figtree',sans-serif;font-size:clamp(34px,4.4vw,66px);line-height:.95;letter-spacing:-.04em;font-weight:700;text-transform:uppercase}
.tz-r{position:absolute;right:max(24px,5vw);top:50%;transform:translateY(-50%);width:min(300px,22vw);z-index:3}
.tz-r p{margin:0;font-size:clamp(15px,1.2vw,18px);line-height:1.55;color:#C9C1B5}
.tz-l h2,.tz-r p{opacity:0;transform:translateY(14px);filter:blur(8px);transition:opacity .45s,transform .6s cubic-bezier(.22,1,.36,1),filter .5s}
.tvz.tin .tz-l h2,.tvz.tin .tz-r p{opacity:1;transform:none;filter:none}
/* centre */
.tz-c{position:absolute;left:50%;top:50%;width:min(560px,40vw);aspect-ratio:640/400;transform:translate(-50%,-52%)}
.tz-tv{position:absolute;inset:0;transform:scale(calc(.82 + var(--p,0) * .25)) rotateX(calc((1 - var(--p,0)) * 14deg));transform-style:preserve-3d;transition:transform .2s linear}
/* plan technique qui change de format : vertical → QBOX → QTOTEM → TV */
.tz-mo{--w:30%;--h:100%;--r:26px;--in:5% 6%;position:absolute;left:calc(50% - var(--w)/2);top:calc(45.5% - var(--h)/2);width:var(--w);height:var(--h);transition:left 1s cubic-bezier(.65,0,.35,1),top 1s cubic-bezier(.65,0,.35,1),width 1s cubic-bezier(.65,0,.35,1),height 1s cubic-bezier(.65,0,.35,1),opacity .8s}
.tz-mo.m1{--w:36%;--h:118%;--r:12px;--in:4% 6% 40% 6%}
.tz-mo.m2{--w:30%;--h:104%;--r:14px;--in:4% 7% 12% 7%}
.tz-mo.m3{--w:100%;--h:91%;--r:14px;--in:4.4% 2.8%}
.tz-mo .mf{position:absolute;inset:0;border:1.5px dashed #F26B1D;border-radius:var(--r);transition:border-radius 1s;animation:tzIn 1.6s ease both .2s}
.tz-mo .mi{position:absolute;inset:var(--in);border:1.5px dashed rgba(242,107,29,.7);border-radius:calc(var(--r) * .45);transition:inset 1s cubic-bezier(.65,0,.35,1),border-radius 1s}
@keyframes tzIn{from{clip-path:inset(0 100% 100% 0)}to{clip-path:inset(0 0 0 0)}}
.tz-mo .mx{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;transition:opacity .5s}
.mx rect,.mx path{fill:none;stroke:#F26B1D;stroke-width:1.5;stroke-dasharray:6 6;vector-effect:non-scaling-stroke}
.tz-mo.m0 .x0,.tz-mo.m1 .x1,.tz-mo.m2 .x2,.tz-mo.m3 .x3{opacity:1;transition-delay:.55s}
.tz-mo .nm{position:absolute;left:50%;top:-66px;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#F3EEE6;opacity:.85;transition:opacity .4s}
.tvz:not(.s-mo) .nm{opacity:0}
.tvz.s-tv .tz-mo{opacity:0}
.dim{position:absolute;display:flex;align-items:center;gap:8px;color:#F26B1D;font-size:12px;font-weight:700;letter-spacing:.1em;transition:opacity .6s}
.dim i{flex:1;height:1px;background:#F26B1D;opacity:.6}
.dim.h{left:0;right:0;top:-34px}
.dim.v{top:0;bottom:0;right:-46px;flex-direction:column;width:20px}
.dim.v i{width:1px;height:auto;flex:1}
.cr{position:absolute;width:14px;height:14px;border-color:#F26B1D;border-style:solid;border-width:0;transition:opacity .6s}
.c1{left:-10px;top:-10px;border-left-width:2px;border-top-width:2px}.c2{right:-10px;top:-10px;border-right-width:2px;border-top-width:2px}
.c3{left:-10px;bottom:-10px;border-left-width:2px;border-bottom-width:2px}.c4{right:-10px;bottom:-10px;border-right-width:2px;border-bottom-width:2px}
/* la TV réelle */
.tz-tv .sl{position:absolute;left:0;top:0;width:100%;height:91%;border-radius:14px;background:#0A0908;padding:2.5%;box-shadow:0 60px 120px -40px rgba(0,0,0,.9),inset 0 0 0 2px #2E2A24;opacity:0;transform:scale(.96);transition:opacity .8s,transform 1s cubic-bezier(.22,1,.36,1)}
.tvz.s-tv .sl{opacity:1;transform:none}
.tz-tv .ft{position:absolute;left:42%;right:42%;bottom:2%;height:7%;border-radius:0 0 6px 6px;background:#1B1814;opacity:0;transition:opacity .8s}
.tvz.s-tv .ft{opacity:1}
.tz-tv .sc{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;background:linear-gradient(160deg,#211C2E,#0E0B18);container-type:inline-size;color:#fff}
.tz-tv .sc::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 35%);pointer-events:none}
.tzs{position:absolute;inset:0;padding:6cqw;display:flex;flex-direction:column;opacity:0;transform:scale(1.04);transition:opacity .5s,transform .7s cubic-bezier(.22,1,.36,1)}
.tvz.s-s1:not(.s-s2) .tzs.tz1,.tvz.s-s2:not(.s-s3) .tzs.tz2,.tvz.s-s3:not(.s-s4) .tzs.tz3,.tvz.s-s4 .tzs.tz4{opacity:1;transform:none}
.tz1 small{font-size:3.2cqw;font-weight:800;opacity:.8}
.tz1 .ap{display:grid;grid-template-columns:repeat(5,1fr);gap:2.4cqw;margin-top:5cqw}
.tz1 .ap i{aspect-ratio:16/10;border-radius:1.6cqw;background:rgba(255,255,255,.08)}
.tz1 .ap i.q{background:#fff;display:grid;place-items:center;box-shadow:0 0 0 .7cqw #F26B1D,0 0 5cqw rgba(242,107,29,.7);transform:scale(1.18)}
.tz1 .ap i.q img{width:78%}
.tz1 .sr{margin-top:auto;font-size:2.8cqw;opacity:.7}
.tz2{align-items:center;justify-content:center;text-align:center}
.tz2 .ic{width:16cqw;aspect-ratio:1;border-radius:4cqw;background:#fff;display:grid;place-items:center}.tz2 .ic img{width:80%}
.tz2 b{margin-top:3cqw;font-size:5.5cqw}.tz2 small{font-size:2.8cqw;opacity:.7}
.tz2 .pg{width:44cqw;height:1.4cqw;border-radius:2cqw;background:rgba(255,255,255,.15);margin-top:3cqw;overflow:hidden}
.tz2 .pg i{display:block;height:100%;width:0;background:linear-gradient(90deg,#F97316,#EC4899);transition:width 1.6s ease-out}
.tvz.s-s2 .tz2 .pg i{width:100%}
.tz3{align-items:center;justify-content:center;text-align:center}
.tz3 small{font-size:3cqw;opacity:.7}
.tz3 .cd{display:flex;gap:1.6cqw;margin-top:2.5cqw}
.tz3 .cd span{width:8cqw;height:10cqw;border-radius:1.8cqw;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:5cqw;font-weight:800}
.tz3 .ok{margin-top:3.5cqw;padding:1.4cqw 3cqw;border-radius:99px;background:rgba(34,197,94,.18);color:#86EFAC;font-size:2.8cqw;font-weight:700}
.tz4{padding:0}.tz4>img{width:100%;height:100%;object-fit:cover}
.tz4 .qr{position:absolute;right:2.5cqw;top:2.5cqw;display:flex;align-items:center;gap:1.6cqw;padding:1.2cqw 2.2cqw 1.2cqw 1.2cqw;border-radius:1.8cqw;background:rgba(12,10,18,.66);backdrop-filter:blur(10px);font-size:1.6cqw;letter-spacing:.14em;text-transform:uppercase;opacity:.95}
.tz4 .qr img{width:9cqw;border-radius:.8cqw}
.tz4 .qr b{display:block;font-size:2.4cqw;letter-spacing:0;text-transform:none}
.tz4 .lv{position:absolute;left:2.5cqw;top:2.5cqw;display:flex;align-items:center;gap:1cqw;padding:1cqw 2cqw;border-radius:99px;background:#EF4444;font-size:2.2cqw;font-weight:900;letter-spacing:.1em}
.tz4 .lv i{width:1.2cqw;height:1.2cqw;border-radius:50%;background:#fff}
.earn{position:absolute;right:-6%;bottom:6%;padding:12px 16px;border-radius:16px;background:#F3EEE6;color:#15130F;box-shadow:0 20px 40px -18px rgba(0,0,0,.8);opacity:0;transform:translateY(20px) scale(.9);transition:.6s cubic-bezier(.3,1.5,.5,1)}
.earn small{display:block;font-size:11px;font-weight:700;color:#6B6358}.earn b{font-size:22px;letter-spacing:-.03em;color:#16A34A}
.tvz.s-s4 .earn{opacity:1;transform:none}
/* plateformes autour de la TV */
.pf{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 18px;border-radius:16px;background:rgba(243,238,230,.06);box-shadow:inset 0 0 0 1px rgba(243,238,230,.14);backdrop-filter:blur(8px);opacity:0;transform:scale(.8);transition:opacity .6s,transform .8s cubic-bezier(.3,1.4,.5,1)}
.pf img{height:24px;width:auto;filter:brightness(0) invert(1)}.pf img+b{display:none}
.pf b{font-size:20px;font-weight:900;letter-spacing:-.02em}
.pf small{font-size:11px;color:#9C9286;letter-spacing:.08em;text-transform:uppercase}
.pf.p0{left:-26%;top:-14%}.pf.p1{right:-24%;top:-12%}.pf.p2{left:-30%;bottom:-8%}.pf.p3{right:-26%;bottom:-10%}
.pf.p1{transition-delay:.08s}.pf.p2{transition-delay:.16s}.pf.p3{transition-delay:.24s}
.tvz.s-pf:not(.s-s1) .pf{opacity:1;transform:none}
.tvz.s-s1 .pf{opacity:.35;transform:scale(.9)}
.tz-bar{position:absolute;left:max(24px,5vw);right:max(24px,5vw);bottom:28px;height:2px;background:rgba(243,238,230,.12)}
.tz-bar i{display:block;height:100%;background:#F26B1D;transform-origin:0;transform:scaleX(0)}
.tz-cta{position:absolute;left:50%;bottom:54px;transform:translate(-50%,20px);padding:14px 22px;border-radius:99px;background:#F26B1D;color:#fff;font-weight:800;text-decoration:none;opacity:0;transition:.5s}
.tvz.s-end .tz-cta{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.tvz{height:620vh}.tz-l{top:90px;transform:none;width:auto;right:16px}.tz-l h2{font-size:30px}.tz-r{top:auto;bottom:90px;transform:none;left:16px;right:16px;width:auto}.tz-c{width:78vw}.pf{padding:8px 10px}.pf b{font-size:14px}.pf.p0,.pf.p2{left:-6%}.pf.p1,.pf.p3{right:-6%}.pf.p0,.pf.p1{top:-40%}.pf.p2,.pf.p3{bottom:-44%}}
.pf img{height:22px!important;max-width:120px;filter:none!important;background:#fff;padding:5px 8px;border-radius:8px;box-sizing:content-box}

.tvz{height:1400vh}
.tz-net,.tz-mk,.tz-ph{pointer-events:none}
/* la TV grandit puis s'efface pour la marketplace */
.tvz.s-big .tz-c{width:min(820px,52vw);transition:width 1s cubic-bezier(.22,1,.36,1)}
.tz-c{transition:width 1s cubic-bezier(.22,1,.36,1),opacity .6s,transform .8s}
.tvz.s-mk .tz-c{opacity:0;transform:translate(-50%,-52%) scale(.7)}
.tvz.s-big .pf{opacity:0!important}
.tvz.s-big .earn{opacity:0}
/* téléphone qui descend du haut */
.tz-ph{position:absolute;left:50%;top:0;width:min(210px,15vw);aspect-ratio:9/19;margin-left:calc(min(820px,52vw)/2 - 40px);border-radius:32px;background:#0A0908;padding:8px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9),inset 0 0 0 2px #2E2A24;transform:translateY(-110%) rotate(6deg);transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .5s;z-index:6}
.tvz.s-ph .tz-ph{transform:translateY(18vh) rotate(6deg)}
.tvz.s-mk .tz-ph{opacity:0}
.tz-ph .s{position:relative;width:100%;height:100%;border-radius:25px;overflow:hidden;background:#151020}
.tz-ph .cam{position:absolute;inset:0;display:grid;place-items:center}
.tz-ph .cam img{width:62%;border-radius:10px;opacity:.9}
.tz-ph .cam i{position:absolute;left:20%;right:20%;height:3px;top:30%;background:#F26B1D;box-shadow:0 0 12px #F26B1D;animation:tzSc 1.3s ease-in-out infinite}
@keyframes tzSc{50%{top:66%}}
.tz-ph .ok{position:absolute;inset:auto 10px 14px;padding:12px;border-radius:16px;background:#fff;color:#15130F;transform:translateY(130%);transition:transform .6s cubic-bezier(.22,1,.36,1)}
.tvz.s-scan .tz-ph .ok{transform:none}
.tz-ph .ok b{display:block;font-size:14px}.tz-ph .ok small{display:block;font-size:11px;color:#6B6358;margin:2px 0 8px}
.tz-ph .ok span{display:block;padding:8px;border-radius:10px;background:#F26B1D;color:#fff;font-weight:800;font-size:12px;text-align:center}
/* marketplace */
.tz-mk{position:absolute;left:50%;top:50%;width:min(760px,50vw);transform:translate(-50%,-46%) scale(.9);opacity:0;border-radius:18px;background:#F3EEE6;color:#15130F;overflow:hidden;box-shadow:0 60px 120px -40px rgba(0,0,0,.9);transition:opacity .6s,transform .9s cubic-bezier(.22,1,.36,1)}
.tvz.s-mk:not(.s-net) .tz-mk{opacity:1;transform:translate(-50%,-50%)}
.tz-mk .bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#E6DFD4;font-size:11px;color:#6B6358}
.tz-mk .bar i{width:9px;height:9px;border-radius:50%;background:#CFC6B8}.tz-mk .bar span{margin-left:10px}
.tz-mk .gd{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px}
.tz-mk .c{position:relative;padding:8px 8px 10px;border-radius:14px;background:#fff;opacity:.55;transition:opacity .5s,box-shadow .5s,transform .5s}
.tz-mk .c .im{display:block;aspect-ratio:16/10;border-radius:9px;background:linear-gradient(135deg,#D9D1C4,#BFB4A3)}
.tz-mk .c.me .im{background:url(../../images/live/tv-cafe.jpg) center/cover}
.tz-mk .c b{display:block;margin-top:7px;font-size:13px}.tz-mk .c small{font-size:11px;color:#6B6358}
.tz-mk .c em{position:absolute;top:14px;left:14px;padding:4px 8px;border-radius:99px;background:#F26B1D;color:#fff;font-style:normal;font-size:10.5px;font-weight:800}
.tvz.s-mk .tz-mk .c.me{opacity:1;box-shadow:0 0 0 3px #F26B1D,0 20px 40px -20px rgba(242,107,29,.8);transform:scale(1.04)}
/* réseau : campagne globale partagée */
.tz-net{position:absolute;left:50%;top:50%;width:min(720px,48vw);aspect-ratio:16/10;transform:translate(-50%,-50%) scale(.9);opacity:0;border-radius:22px;background:radial-gradient(70% 70% at 50% 50%,rgba(242,107,29,.18),transparent 70%),rgba(243,238,230,.04);box-shadow:inset 0 0 0 1px rgba(243,238,230,.12);transition:opacity .6s,transform .9s cubic-bezier(.22,1,.36,1)}
.tvz.s-net .tz-net{opacity:1;transform:translate(-50%,-50%)}
.tz-net .cmp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 18px;border-radius:16px;background:#F26B1D;color:#fff;text-align:center;box-shadow:0 0 0 10px rgba(242,107,29,.2),0 0 60px rgba(242,107,29,.6);z-index:2}
.tz-net .cmp small{display:block;font-size:11px;opacity:.85}.tz-net .cmp b{display:block;font-size:17px;margin:2px 0}.tz-net .cmp span{font-size:12px;font-weight:700}
.tz-net .v{position:absolute;width:20px;height:20px;margin:-10px;border-radius:50%;background:#F3EEE6;box-shadow:0 0 0 6px rgba(243,238,230,.12)}
.tz-net .v::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#F26B1D;opacity:0}
.tvz.s-pay .tz-net .v::after{animation:tzCoin 1.6s ease-in infinite;animation-delay:calc(var(--k)*.15s)}
@keyframes tzCoin{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(0,-26px)}}
.tz-net .v.me{width:30px;height:30px;margin:-15px;background:#F26B1D;box-shadow:0 0 0 8px rgba(242,107,29,.3)}
.tz-net .sh{position:absolute;left:4%;top:8%;padding:12px 16px;border-radius:16px;background:#F3EEE6;color:#15130F;opacity:0;transform:translateY(10px);transition:.5s}
.tvz.s-pay .tz-net .sh{opacity:1;transform:none}
.tz-net .sh small{display:block;font-size:11px;font-weight:700;color:#6B6358}.tz-net .sh b{display:block;font-size:26px;color:#16A34A;letter-spacing:-.03em}
.tz-net .sh span{font-size:11.5px;color:#6B6358}.tz-net .sh u{text-decoration:none;color:#16A34A;font-weight:800}
@media(max-width:900px){.tvz{height:1500vh}.tz-ph{width:34vw;margin-left:10vw}.tz-mk,.tz-net{width:90vw}.tz-mk .gd{grid-template-columns:repeat(2,1fr)}}
.tz-ph{margin-left:calc(min(820px,52vw)/2 - 120px)}.tvz.s-big .tz-l{width:min(300px,22vw)}.tvz.s-big .tz-l h2{font-size:clamp(28px,3vw,48px)}
.tvz.s-big .tz-r{top:auto;bottom:9vh;transform:none;width:min(360px,26vw)}
/* marketplace / réseau : à droite de la colonne de titre, jamais dessous */
.tz-l h2{font-size:clamp(30px,3.7vw,60px)}
@media(min-width:901px){
.tz-mk,.tz-net{--x:calc(max(24px,5vw) + min(380px,28vw) + 4vw);left:var(--x);width:min(720px,calc(95vw - var(--x)));transform:translate(0,-46%) scale(.94);transform-origin:left center}
.tvz.s-mk:not(.s-net) .tz-mk,.tvz.s-net .tz-net{transform:translate(0,-50%)}
.tvz.s-mk .tz-r{opacity:0;transition:opacity .4s}
.tvz.s-pay .tz-r{opacity:1}
}
/* marketplace : les autres lieux visibles, un curseur clique sur le vôtre qui grossit */
.tz-mk{overflow:visible}
.tz-mk .bar{border-radius:18px 18px 0 0}
.tz-mk .c .im{background-size:cover;background-position:center}
.tz-mk .c{opacity:.9}
.tvz.s-mkc .tz-mk .c:not(.me){opacity:.45;filter:saturate(.6)}
.tvz.s-mk .tz-mk .c.me{transform:none;box-shadow:0 0 0 2px rgba(242,107,29,.6)}
.tvz.s-mkc .tz-mk .c.me{position:relative;z-index:4;opacity:1;transform:scale(1.18) translate(6%,6%);box-shadow:0 0 0 3px #F26B1D,0 30px 60px -20px rgba(242,107,29,.85);transition:transform .7s cubic-bezier(.34,1.56,.64,1) .25s,box-shadow .5s .25s,opacity .5s}
.tz-mk .cu{position:absolute;left:92%;top:96%;z-index:6;width:30px;height:30px;transition:left 1.1s cubic-bezier(.65,0,.35,1) .35s,top 1.1s cubic-bezier(.65,0,.35,1) .35s}
.tz-mk .cu svg{width:100%;height:100%;fill:#15130F;stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));transform-origin:20% 10%;transition:transform .15s}
.tz-mk .cu i{position:absolute;left:-14px;top:-16px;width:36px;height:36px;border-radius:50%;border:3px solid #F26B1D;opacity:0;transform:scale(.3)}
.tvz.s-mk .tz-mk .cu{left:22%;top:36%}
.tvz.s-mkc .tz-mk .cu{left:26%;top:44%}
.tvz.s-mkc .tz-mk .cu svg{animation:tzPress .35s ease 0s 1}
.tvz.s-mkc .tz-mk .cu i{animation:tzRip .7s ease-out .05s 1}
@keyframes tzPress{50%{transform:scale(.8)}}
@keyframes tzRip{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.8)}}
/* marketplace : les autres lieux visibles, un curseur clique sur le vôtre qui grossit */
.tz-mk{overflow:visible}
.tz-mk .bar{border-radius:18px 18px 0 0}
.tz-mk .c .im{background-size:cover;background-position:center}
.tvz.s-mk .tz-mk .c{opacity:.92}
.tvz.s-mk .tz-mk .c.me{transform:none;box-shadow:0 0 0 2px rgba(242,107,29,.55)}
.tvz.s-mkc .tz-mk .c:not(.me){opacity:.4;filter:saturate(.5)}
.tvz.s-mkc .tz-mk .c.me{z-index:4;opacity:1;transform:scale(1.22) translate(8%,8%);box-shadow:0 0 0 3px #F26B1D,0 30px 60px -20px rgba(242,107,29,.85);transition:transform .7s cubic-bezier(.34,1.56,.64,1) .2s,box-shadow .5s .2s,opacity .5s,filter .5s}
.tz-mk .gd{border-radius:0 0 18px 18px;background:#F3EEE6}
.tz-mk .cu{position:absolute;left:94%;top:104%;z-index:6;width:30px;height:30px;transition:left 1.1s cubic-bezier(.65,0,.35,1) .3s,top 1.1s cubic-bezier(.65,0,.35,1) .3s}
.tz-mk .cu svg{display:block;width:100%;height:100%;fill:#15130F;stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));transform-origin:20% 10%}
.tz-mk .cu i{position:absolute;left:-14px;top:-16px;width:36px;height:36px;border-radius:50%;border:3px solid #F26B1D;opacity:0}
.tvz.s-mk .tz-mk .cu{left:20%;top:34%}
.tvz.s-mkc .tz-mk .cu{left:24%;top:44%}
.tvz.s-mkc .tz-mk .cu svg{animation:tzPress .35s ease}
.tvz.s-mkc .tz-mk .cu i{animation:tzRip .7s ease-out .05s}
@keyframes tzPress{50%{transform:scale(.8)}}
@keyframes tzRip{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.8)}}
/* réseau : vraie carte, monde → zoom sur Lyon → zone ciblée → votre part */
.tz-net{background:#141210;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(243,238,230,.12),0 60px 120px -40px rgba(0,0,0,.9)}
.tz-net .wv{position:absolute;inset:0;transition:opacity .8s .5s}
.tz-net .mv{position:absolute;left:0;top:11.8%;width:100%;aspect-ratio:180/70;transform-origin:51.34% 24.46%;transition:transform 1.8s cubic-bezier(.65,0,.35,1)}
.tz-net .mv img{width:100%;height:100%;display:block;filter:invert(1) sepia(.5) saturate(2) hue-rotate(-10deg) brightness(.55);opacity:.85}
.tvz.s-nz .tz-net .mv{transform:translate(-1.34%,25.6%) scale(16)}
.tvz.s-nz .tz-net .wv{opacity:0}
.tz-net .cy{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.4);transition:opacity .9s .9s,transform 1.6s cubic-bezier(.22,1,.36,1) .7s}
.tvz.s-nz .tz-net .cy{opacity:1;transform:none}
.cy .rd path{stroke:rgba(243,238,230,.08);stroke-width:.5;fill:none}
.cy .rv{fill:none;stroke:#2C4250;stroke-width:3.6;stroke-linecap:round}
.cy .lb text{font:600 3px Figtree,sans-serif;fill:rgba(243,238,230,.32);letter-spacing:.06em;text-transform:uppercase}
.tz-net .geo{position:absolute;left:51.3%;top:33.9%;transition:opacity .4s}
.tz-net .geo i{position:absolute;width:12px;height:12px;margin:-6px;border-radius:50%;background:#F26B1D;box-shadow:0 0 0 0 rgba(242,107,29,.7);animation:tzGeo 1.6s ease-out infinite}
.tz-net .geo b{position:absolute;left:12px;top:-9px;font-size:12px;font-weight:800;color:#F3EEE6;white-space:nowrap}
@keyframes tzGeo{to{box-shadow:0 0 0 26px rgba(242,107,29,0)}}
.tvz.s-nz .tz-net .geo{opacity:0}
.tz-net .zn{position:absolute;left:57%;top:50%;width:80%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(0);border:2px dashed #F26B1D;background:radial-gradient(closest-side,rgba(242,107,29,.28),rgba(242,107,29,.08) 80%,transparent);transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.tvz.s-nzone .tz-net .zn{transform:translate(-50%,-50%) scale(1)}
.tz-net .v{width:12px;height:12px;margin:-6px;box-shadow:0 0 0 4px rgba(243,238,230,.14);opacity:0;transform:scale(0);transition:opacity .4s,transform .5s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--k) * .07s + .2s)}
.tvz.s-nz .tz-net .v.me,.tvz.s-nzone .tz-net .v{opacity:1;transform:none}
.tz-net .v.me{width:20px;height:20px;margin:-10px;z-index:2;transition-delay:1.4s}
.tz-net .v.me b{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);padding:6px 10px;border-radius:10px;background:#F26B1D;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 10px 24px -8px rgba(242,107,29,.8)}
.tz-net .v.me b::after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:#F26B1D}
.tz-net .cmp{left:4%;top:6%;transform:translateY(-10px);text-align:left;opacity:0;box-shadow:0 20px 40px -14px rgba(242,107,29,.7);transition:opacity .5s,transform .6s}
.tvz.s-nzone .tz-net .cmp{opacity:1;transform:none}
.tz-net .sh{left:auto;top:auto;right:4%;bottom:6%}
.tz-mo.m2{--w:30%;--h:104%;--in:4% 7% 42% 7%}
.tz-mo.m2{--w:40%;--h:100%;--in:4% 6% 30% 6%}
.tz-mo.m2 .dim.v{right:-80px}

/* b16 · cartes marketplace : image réelle + prix au créneau + passages / jour */
.tz-mk .c .im{position:relative;overflow:hidden}
.tz-mk .c .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tz-mk .c .pz{display:block;margin-top:3px;font-size:11.5px;font-weight:800;color:#C2410C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tz-mk .c small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* b17 · tablette (601–900 px, hors téléphone) : titre sur toute la largeur, téléphone à taille raisonnable, marketplace en 3 colonnes */
@media(min-width:601px) and (max-width:900px){
html:not(.qt-ph) .tvz.s-big .tz-l{width:auto}
html:not(.qt-ph) .tvz.s-big .tz-l h2{font-size:30px}
html:not(.qt-ph) .tvz .tz-ph{width:min(190px,24vw);margin-left:calc(26vw - 90px)}
html:not(.qt-ph) .tvz .tz-mk{width:86vw}
html:not(.qt-ph) .tvz .tz-mk .gd{grid-template-columns:repeat(3,1fr)}
html:not(.qt-ph) .tvz.s-mk:not(.s-pay) .tz-r{opacity:0;transition:opacity .4s}
}
/* v139/v145 — « Leur pub, nouvelle génération » : v146 : des combinaisons de layers qui s’empilent sur la pub (.on), panneau « Layers de la marque » */
.tz4 .ly{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s}
.tvz.s-lay:not(.s-mk) .tz4 .ly,.tvzm .tzm-ly .tz4 .ly{opacity:1}
.tvz.s-lay .tz4 .qr,.tvzm .tzm-ly .tz4 .qr{opacity:0}
.tz4 .ly>span{position:absolute;opacity:0;transition:opacity .45s,transform .6s cubic-bezier(.22,1,.36,1)}
.tz4 .ly>span.on{opacity:1;transform:none}
/* v146 : ordre d'empilement des layers */
.tz4 .ly .sq{z-index:1}.tz4 .ly .ig{z-index:2}.tz4 .ly .pc,.tz4 .ly .lb{z-index:3}.tz4 .ly .mp,.tz4 .ly .qf{z-index:4}.tz4 .ly .gm{z-index:5}.tz4 .ly .fl{z-index:6}
/* 0 · fiche produit */
.tz4 .ly .pc{right:4cqw;top:16cqw;width:30cqw;padding:2.2cqw;border-radius:2.4cqw;background:#fff;color:#15130F;box-shadow:0 2cqw 5cqw -1cqw rgba(0,0,0,.45);transform:translateX(10cqw) scale(.94)}
.tz4 .ly .pc i{position:absolute;right:-2.4cqw;top:-3.4cqw;display:grid;place-items:center;width:9cqw;height:9cqw;border-radius:50%;background:#15130F;color:#fff;font-style:normal;font-weight:900;font-size:2.4cqw;transform:rotate(-8deg);box-shadow:0 0 0 .6cqw rgba(255,255,255,.25)}
.tz4 .ly .pc small,.tz4 .ly .lb small,.tz4 .ly .gm small,.tz4 .ly .fl small{display:block;font-size:1.4cqw;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#F26B1D}
.tz4 .ly .pc b{display:block;margin-top:.4cqw;font-size:2.8cqw;line-height:1.1;font-weight:900}
.tz4 .ly .pc em{display:flex;align-items:baseline;gap:1cqw;margin-top:1cqw;font-style:normal;font-size:4.6cqw;font-weight:900;letter-spacing:-.02em}
.tz4 .ly .pc em s{font-size:1.8cqw;font-weight:600;color:#8A8278}
.tz4 .ly .pc u{display:block;margin-top:1.4cqw;padding:1.2cqw;border-radius:99px;background:#F26B1D;color:#fff;text-decoration:none;text-align:center;font-size:1.7cqw;font-weight:800}
/* 1 · bandeau promo (L-band) */
.tz4 .ly .lb{left:3cqw;right:3cqw;bottom:3cqw;display:flex;align-items:center;gap:2cqw;padding:1.8cqw 2.2cqw;border-radius:2cqw;background:rgba(21,19,15,.82);backdrop-filter:blur(8px);color:#fff;transform:translateY(8cqw)}
.tz4 .ly .lb .lo{position:static;opacity:1;display:grid;place-items:center;flex:none;width:7cqw;height:7cqw;border-radius:1.6cqw;background:linear-gradient(135deg,#F26B1D,#EC4899);font-weight:900;font-size:2.4cqw}
.tz4 .ly .lb>span:nth-child(2){position:static;opacity:1;flex:1;min-width:0}
.tz4 .ly .lb b{display:block;font-size:2.8cqw;font-weight:800}
.tz4 .ly .lb u{flex:none;padding:1.2cqw 2.4cqw;border-radius:99px;background:#fff;color:#15130F;text-decoration:none;font-size:1.9cqw;font-weight:800}
/* 2 · QR « Scannez & gagnez » */
.tz4 .ly .qf{right:4cqw;bottom:4cqw;display:flex;flex-direction:column;align-items:center;width:22cqw;padding:2cqw;border-radius:2.4cqw;background:#F26B1D;color:#fff;text-align:center;box-shadow:0 2cqw 5cqw -1cqw rgba(0,0,0,.5);transform:scale(.8) rotate(-4deg)}
.tz4 .ly .qf img{width:16cqw;padding:1cqw;border-radius:1.4cqw;background:#fff}
.tz4 .ly .qf b{margin-top:1.2cqw;font-size:2.8cqw;line-height:1.05;font-weight:900}
.tz4 .ly .qf small{margin-top:.4cqw;font-size:1.6cqw;font-weight:700;opacity:.9}
/* 3 · invitation au jeu */
.tz4 .ly .gm{left:4cqw;bottom:4cqw;display:flex;align-items:center;gap:2cqw;padding:1.8cqw 3cqw 1.8cqw 1.8cqw;border-radius:99px;background:#fff;color:#15130F;box-shadow:0 2cqw 5cqw -1cqw rgba(0,0,0,.5);transform:translateX(-10cqw)}
.tz4 .ly .gm .wh{position:static;opacity:1;flex:none;width:9cqw;height:9cqw;border-radius:50%;background:conic-gradient(#F26B1D 0 25%,#FACC15 0 50%,#EC4899 0 75%,#22C55E 0);animation:tzWh 3s linear infinite;box-shadow:inset 0 0 0 .6cqw #fff,0 0 0 .3cqw #15130F}
.tz4 .ly .gm>span:nth-child(2){position:static;opacity:1}
.tz4 .ly .gm b{display:block;font-size:3cqw;font-weight:900}
.tz4 .ly .gm em{display:block;font-style:normal;font-size:1.7cqw;color:#6B6358}
@keyframes tzWh{to{transform:rotate(360deg)}}
/* 4 · offre flash + compte à rebours */
.tz4 .ly .fl{left:50%;top:50%;display:flex;flex-direction:column;align-items:center;width:28cqw;margin:-14cqw 0 0 -14cqw;aspect-ratio:1;justify-content:center;border-radius:50%;background:#15130F;color:#fff;box-shadow:0 0 0 1cqw rgba(242,107,29,.55),0 3cqw 6cqw -2cqw rgba(0,0,0,.6);transform:scale(.6)}
.tz4 .ly .fl b{font-size:8cqw;line-height:1;font-weight:900;letter-spacing:-.03em}
.tz4 .ly .fl em{margin-top:.6cqw;font-style:normal;font-size:2.2cqw;font-weight:800;font-variant-numeric:tabular-nums;color:#FACC15}
/* v145 — le téléphone montre le rendu : la pub avec le layer en cours + la liste des layers (mêmes layers) */
.tz-ph .pk{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;padding:26px 8px 88px;opacity:0;transition:opacity .5s;color:#fff}
.tvz.s-lay .tz-ph .pk,.tvzm .tzm-ly .tz-ph .pk{opacity:1}
.tvz.s-lay .tz-ph .cam,.tvzm .tzm-ly .tz-ph .cam{opacity:0;transition:opacity .4s}
.tz-ph .pk .hd b{display:block;font-size:13px}
.tz-ph .pk .hd small{display:block;font-size:10.5px;color:#A79FB8}
.tz-ph .pv{position:relative;flex:none;aspect-ratio:16/9;border-radius:10px;overflow:hidden;container-type:inline-size}
.tz-ph .pv>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tz-ph .pv .ly{opacity:1}
.tz-ph .tz-ly{position:static;width:auto;margin:0;padding:8px;border-radius:12px;opacity:1;transform:none;box-shadow:none}
.tz-ph .tz-ly small{margin-bottom:2px;font-size:9px}
.tz-ph .tz-ly span{gap:6px;padding:4px 6px;margin-top:3px;border-radius:8px;font-size:10.5px}
.tz-ph .tz-ly span i{width:11px;height:11px;border-radius:3px}
.tz-ph .tz-ly span b{font-size:9.5px}
.tz-ph .tz-ly p{margin-top:5px;font-size:10px}.tz-ph .tz-ly p b{font-size:12px}
.tvz.s-lay .tz-ph .ok,.tvzm .tzm-ly .tz-ph .ok{transform:none}
.tz-ly span.on{background:#FFF1E6;box-shadow:inset 0 0 0 1.5px #F26B1D}
.tz-ly span.on i{background:#F26B1D;box-shadow:none}
.tz-ly small em{font-style:normal;color:#F26B1D}
.tz-ly{background:#fff;color:#15130F}
.tz-ly small{display:block;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8A8278}
.tz-ly span{display:flex;align-items:center;background:#F5F1EA;font-weight:700;transition:background .35s,box-shadow .35s}
.tz-ly span i{flex:none;box-shadow:inset 0 0 0 2px #C9C1B5}
.tz-ly span b{margin-left:auto;color:#16A34A}
.tz-ly p{color:#6B6358}.tz-ly p b{color:#15130F}
/* téléphone plus grand pendant l'étape des layers */
.tvz.s-lay .tz-ph{width:min(250px,18vw)}
/* téléphone : scène figée (tzm-ly) */
/* v145 — 6 · habillage complet (squeeze-back) : la pub rétrécit dans un cadre, panneau marque à gauche, bandeau + QR en bas */
.tz4 .ly .sq{inset:0;transform:scale(1.04)}
.tz4 .ly .sq>span{position:absolute}
.tz4 .ly .sq .bg{inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 .5cqw,transparent .5cqw 2cqw),linear-gradient(120deg,#3B2A22,#6E3A24 55%,#C0662E)}
.tz4 .ly .sq .fr{right:2cqw;top:2.6cqw;width:68cqw;aspect-ratio:16/9;border-radius:1.4cqw;overflow:hidden;box-shadow:0 0 0 .3cqw rgba(255,255,255,.8)}
.tz4 .ly .sq .fr img{width:100%;height:100%;object-fit:cover}
.tz4 .ly .sq .fr em{position:absolute;left:1.4cqw;top:1.4cqw;padding:.5cqw 1.2cqw;border-radius:.8cqw;background:rgba(0,0,0,.55);color:#fff;font-style:normal;font-size:1.4cqw;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tz4 .ly .sq .sd{left:3cqw;top:9cqw;width:24cqw;color:#fff}
.tz4 .ly .sq .sd .lo{display:grid;place-items:center;width:6cqw;height:6cqw;border-radius:1.4cqw;background:linear-gradient(135deg,#F26B1D,#7A2E12);font-weight:900;font-size:2.2cqw}
.tz4 .ly .sq .sd small{display:block;margin-top:1.4cqw;font-size:1.4cqw;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.tz4 .ly .sq .sd b{display:block;margin-top:.8cqw;font-size:3.6cqw;line-height:1.05;font-weight:900}
.tz4 .ly .sq .sd i{display:inline-block;margin-top:1.6cqw;padding:.6cqw 1.6cqw;border-radius:1cqw;background:#fff;color:#15130F;font-style:normal;font-size:3.6cqw;font-weight:900;transform:rotate(-3deg);box-shadow:0 .6cqw 0 #F26B1D}
.tz4 .ly .sq .bt{left:3cqw;right:16cqw;bottom:2.6cqw;height:10cqw;display:flex;align-items:center;justify-content:space-between;padding:0 2.4cqw;border-radius:1.4cqw;background:rgba(30,18,14,.55);box-shadow:inset 0 0 0 .2cqw rgba(255,255,255,.12);color:#fff}
.tz4 .ly .sq .bt b{font-size:2.6cqw;font-weight:800}
.tz4 .ly .sq .bt u{padding:1cqw 2.2cqw;border-radius:99px;background:#fff;color:#15130F;text-decoration:none;font-size:1.8cqw;font-weight:800}
.tz4 .ly .sq .qq{right:2cqw;bottom:2.6cqw;width:12cqw;height:10cqw;display:grid;place-items:center;border-radius:1.2cqw;background:#fff}
.tz4 .ly .sq .qq img{width:8.4cqw}
.tvz.s-lay .tz-ph{margin-left:calc(min(820px,52vw)/2 + 24px)}
.tz-ph .tz-ly{display:grid;grid-template-columns:1fr 1fr;column-gap:4px}
.tz-ph .tz-ly small,.tz-ph .tz-ly p{grid-column:1/-1}
.tz-ph .tz-ly span{gap:4px;padding:4px 5px;font-size:9.5px;white-space:nowrap;overflow:hidden}
.tz-ph .tz-ly span b{font-size:8.5px}
/* téléphone (site en mobile) : étape layers — la TV en haut, le téléphone dessous, centré */
.qt-ph .tvzm .tzm-ly .tz-pin{height:auto!important;position:relative!important;display:flex!important;flex-direction:column;align-items:center;gap:18px;padding-bottom:10px}
.qt-ph .tvzm .tzm-ly .tz-c{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:calc(100% - 32px)!important;opacity:1!important}
.qt-ph .tvzm .tzm-ly .tz-ph{position:relative!important;left:auto!important;top:auto!important;width:58vw!important;height:auto!important;aspect-ratio:9/19;margin:0!important;transform:none!important;opacity:1!important}
/* v146 — 7 · post Instagram sponsorisé */
.tz4 .ly .ig{right:3cqw;top:3cqw;width:23cqw;border-radius:2cqw;overflow:hidden;background:#fff;color:#15130F;box-shadow:0 2cqw 5cqw -1cqw rgba(0,0,0,.5);transform:translateX(8cqw) rotate(3deg)}
.tz4 .ly .ig .h{display:flex;align-items:center;gap:1.2cqw;padding:1.2cqw 1.4cqw}
.tz4 .ly .ig .av{display:grid;place-items:center;flex:none;width:4.4cqw;height:4.4cqw;border-radius:50%;background:linear-gradient(135deg,#F26B1D,#7A2E12);color:#fff;font-size:1.5cqw;font-weight:900;box-shadow:0 0 0 .35cqw #fff,0 0 0 .7cqw #E1306C}
.tz4 .ly .ig .h b{display:block;font-size:1.7cqw;font-weight:800}
.tz4 .ly .ig .h small{display:block;font-size:1.2cqw;color:#8A8278}
.tz4 .ly .ig .ic{margin-left:auto;width:3cqw;height:3cqw;border-radius:.9cqw;background:radial-gradient(circle at 30% 107%,#FDF497 0,#FD5949 45%,#D6249F 60%,#285AEB 90%)}
.tz4 .ly .ig>img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.tz4 .ly .ig .f{display:block;padding:1.1cqw 1.4cqw 1.4cqw}
.tz4 .ly .ig .ac{display:flex;gap:1.2cqw}
.tz4 .ly .ig .ac svg{width:2.4cqw;height:2.4cqw;fill:none;stroke:#15130F;stroke-width:2;stroke-linejoin:round}
.tz4 .ly .ig .ac .hr{fill:#EF4444;stroke:#EF4444}
.tz4 .ly .ig .f>b{display:block;margin-top:.6cqw;font-size:1.5cqw;font-weight:800}
.tz4 .ly .ig .f>small{display:block;margin-top:.3cqw;font-size:1.3cqw;line-height:1.3;color:#3B3630}
/* v146 — 8 · itinéraire « à 200 m » */
.tz4 .ly .mp{right:14cqw;bottom:4cqw;display:flex;align-items:stretch;width:44cqw;height:14cqw;border-radius:2cqw;overflow:hidden;background:#fff;color:#15130F;box-shadow:0 2cqw 5cqw -1cqw rgba(0,0,0,.55);transform:translateY(8cqw)}
.tz4 .ly .mp .mg{flex:none;width:15cqw;height:100%;background:#EEF1F5}
.tz4 .ly .mp .rd{fill:none;stroke:#fff;stroke-width:5}
.tz4 .ly .mp .pk{fill:#C9F2D6}
.tz4 .ly .mp .rt{fill:none;stroke:#F26B1D;stroke-width:2.6;stroke-dasharray:3 2.4;stroke-linecap:round}
.tz4 .ly .mp .pn{fill:#F26B1D}
.tz4 .ly .mp .me{fill:#2563EB;stroke:#fff;stroke-width:1.6}
.tz4 .ly .mp .tx{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:0 1.6cqw}
.tz4 .ly .mp .tx b{font-size:3.4cqw;white-space:nowrap;line-height:1;font-weight:900;letter-spacing:-.02em;color:#F26B1D}
.tz4 .ly .mp .tx small{display:flex;align-items:center;gap:.8cqw;margin-top:.8cqw;font-size:1.5cqw;font-weight:800;white-space:nowrap}
.tz4 .ly .mp .tx small i{display:grid;place-items:center;width:2.4cqw;height:2.4cqw;border-radius:.5cqw;background:#3B2A22;color:#fff;font-style:normal;font-size:1cqw}
.tz4 .ly .mp .tx u{align-self:flex-start;margin-top:1cqw;padding:.7cqw 1.8cqw;border-radius:99px;background:#F26B1D;color:#fff;text-decoration:none;font-size:1.4cqw;font-weight:800}
.tz4 .ly .mp .q{flex:none;align-self:center;width:7.5cqw;margin-right:1.6cqw}
