/* Inline IPTV – visuel animé du hero */
.home1_hero_wrapper:has(.hv){background:none!important;padding:0!important;transform:none!important;max-width:640px!important}
.hv{position:relative;width:100%;aspect-ratio:1/0.92;max-width:640px;margin:0 auto;perspective:1100px;user-select:none;-webkit-user-select:none;font-family:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-variant:normal;font-feature-settings:normal;--g:linear-gradient(90deg,#21ccee,#1470ef 33%,#6927da 71%,#f23d94)}
.hv *{box-sizing:border-box}
.hv-scene{position:absolute;inset:0;transition:transform .5s cubic-bezier(.2,.9,.25,1)}
.hv-blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.55;animation:hvFloat 12s ease-in-out infinite}
.hv-blob.b1{width:55%;height:55%;left:-4%;top:6%;background:#6927da}
.hv-blob.b2{width:48%;height:48%;right:-6%;top:18%;background:#f23d94;animation-duration:15s;animation-direction:reverse}
.hv-blob.b3{width:42%;height:42%;left:28%;bottom:-4%;background:#21ccee;opacity:.4;animation-duration:18s}
html:not([data-theme="dark"]) .hv-blob{opacity:.28}
@keyframes hvFloat{50%{transform:translate(18px,-14px) scale(1.08)}}
.hv-floor{position:absolute;left:-10%;right:-10%;bottom:2%;height:38%;background-image:linear-gradient(rgba(105,39,218,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(105,39,218,.25) 1px,transparent 1px);background-size:34px 34px;transform:perspective(500px) rotateX(62deg);transform-origin:bottom;-webkit-mask:linear-gradient(transparent,#000 40%,#000 70%,transparent);mask:linear-gradient(transparent,#000 40%,#000 70%,transparent);animation:hvGrid 3s linear infinite}
@keyframes hvGrid{to{background-position:0 34px}}
.hv-orbit{position:absolute;left:50%;top:44%;width:92%;aspect-ratio:1;transform:translate(-50%,-50%) rotateX(72deg);border-radius:50%;border:1.5px dashed rgba(105,39,218,.35)}
.hv-orbit i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--g);box-shadow:0 0 14px #6927da;animation:hvOrbit 9s linear infinite}
.hv-orbit i:nth-child(2){animation-delay:-3s;background:#f23d94}.hv-orbit i:nth-child(3){animation-delay:-6s;background:#21ccee}
@keyframes hvOrbit{from{transform:rotate(0) translateX(calc(46cqw)) rotate(0)}to{transform:rotate(360deg) translateX(calc(46cqw)) rotate(-360deg)}}
.hv{container-type:inline-size}
/* TV */
.hv-tv{position:absolute;z-index:2;left:12%;right:12%;top:14%;animation:hvBob 6s ease-in-out infinite}
@keyframes hvBob{50%{transform:translateY(-8px)}}
.hv-frame{position:relative;border-radius:18px;padding:8px;background:linear-gradient(145deg,#2a2a35,#07070b 60%);box-shadow:0 40px 80px -30px rgba(105,39,218,.8),0 0 0 1px rgba(255,255,255,.08) inset}
.hv-frame::before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:20px;background:conic-gradient(from var(--hva,0deg),#21ccee,#1470ef,#6927da,#f23d94,#f97316,#21ccee);filter:blur(14px);opacity:.75;animation:hvSpin 6s linear infinite}
@property --hva{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes hvSpin{to{--hva:360deg}}
.hv-screen{position:relative;aspect-ratio:16/9;border-radius:11px;overflow:hidden;background:#000;color:#fff}
.hv-bg{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:blur(18px) brightness(.55) saturate(1.3);transform:scale(1.1);transition:background-image .2s}
.hv-show{position:absolute;inset:0;display:flex;align-items:center;gap:5%;padding:6% 6%}
.hv-poster{flex:none;height:88%;aspect-ratio:2/3;border-radius:8px;background-size:cover;background-position:center;box-shadow:0 12px 30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.15)}
.hv-info{min-width:0}
.hv-kind{display:inline-block;font:600 9px "Roboto Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:99px;background:rgba(255,255,255,.15);backdrop-filter:blur(6px)}
.hv-title{font-size:clamp(14px,4.2cqw,24px);font-weight:700;line-height:1.1;margin:8px 0 4px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hv-sub{font-size:clamp(9px,2.1cqw,12px);opacity:.8}
.hv-play{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 11px;border-radius:8px;background:#fff;color:#000;font-size:clamp(9px,2cqw,11.5px);font-weight:700}
.hv-osd{position:absolute;top:7px;left:9px;right:9px;display:flex;justify-content:space-between;align-items:center;font:600 clamp(8px,1.7cqw,10px) "Roboto Mono",ui-monospace,monospace;letter-spacing:.06em}
.hv-live{display:flex;align-items:center;gap:5px;padding:3px 7px;border-radius:6px;background:#e11d48}
.hv-live b{width:6px;height:6px;border-radius:50%;background:#fff;animation:hvBlink 1s steps(1) infinite}
@keyframes hvBlink{50%{opacity:0}}
.hv-ch{padding:3px 7px;border-radius:6px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px)}
.hv-bar{position:absolute;left:9px;right:9px;bottom:8px;height:3px;border-radius:3px;background:rgba(255,255,255,.2);overflow:hidden}
.hv-bar i{display:block;height:100%;width:0;background:var(--g);animation:hvProg 3s linear infinite}
@keyframes hvProg{to{width:100%}}
.hv-noise{position:absolute;inset:0;opacity:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 3px),radial-gradient(circle at 30% 40%,#fff3,transparent 60%),#111;mix-blend-mode:normal}
.hv-screen.zap .hv-noise{animation:hvZap .45s steps(6)}
.hv-screen.zap .hv-show{animation:hvShift .45s steps(4)}
@keyframes hvZap{0%{opacity:1;background-position:0 0}50%{opacity:.9;background-position:0 40px}100%{opacity:0}}
@keyframes hvShift{0%{transform:translateX(-6px) skewX(4deg);filter:hue-rotate(90deg)}50%{transform:translateX(5px);filter:hue-rotate(-60deg) saturate(2)}100%{transform:none;filter:none}}
.hv-stand{position:relative;width:26%;height:16px;margin:0 auto;background:linear-gradient(#1b1b24,#07070b);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);border-radius:0 0 6px 6px}
.hv-stand::after{content:"";position:absolute;left:-30%;right:-30%;bottom:-10px;height:14px;border-radius:50%;background:radial-gradient(rgba(105,39,218,.45),transparent 70%);filter:blur(4px)}
/* cartes flottantes */
.hv-card{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.88);color:#07171d;border:1px solid rgba(8,22,28,.08);box-shadow:0 18px 40px -18px rgba(9,36,47,.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12.5px;font-weight:600;white-space:nowrap;animation:hvCard 7s ease-in-out infinite}
html[data-theme="dark"] .hv-card{background:rgba(22,22,30,.82);color:#f2f2f5;border-color:rgba(255,255,255,.1);box-shadow:0 18px 40px -18px rgba(0,0,0,.8)}
.hv-card small{display:block;font-size:10.5px;font-weight:500;opacity:.6}
.hv-card .ic{flex:none;width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;background:linear-gradient(135deg,var(--a),var(--b));color:#fff}
@keyframes hvCard{50%{transform:translateY(-10px)}}
.hv-c1{left:0;top:4%;--a:#16a34a;--b:#21ccee}
.hv-c2{right:0;top:2%;animation-delay:-2s;--a:#6927da;--b:#f23d94}
.hv-c3{right:-3%;top:54%;animation-delay:-4s;--a:#f97316;--b:#f23d94}
.hv-score{display:flex;gap:6px;align-items:center;font:700 13px "Roboto Mono",ui-monospace,monospace}
.hv-score em{font-style:normal;padding:1px 6px;border-radius:5px;background:#07070b;color:#fff}
html[data-theme="dark"] .hv-score em{background:#fff;color:#000}
.hv-q{display:inline-flex;gap:4px;margin-left:2px}.hv-q span{font:700 10px "Roboto Mono",monospace;padding:2px 5px;border-radius:5px;background:var(--g);color:#fff}
/* téléphone */
.hv-phone{position:absolute;z-index:3;left:2%;bottom:6%;width:21%;aspect-ratio:9/18.5;border-radius:18px;padding:4px;background:linear-gradient(145deg,#2a2a35,#07070b);box-shadow:0 24px 50px -18px rgba(105,39,218,.7),0 0 0 1px rgba(255,255,255,.08) inset;animation:hvCard 8s ease-in-out infinite;animation-delay:-1s;transform:rotate(-8deg)}
.hv-phone-s{position:relative;width:100%;height:100%;border-radius:14px;overflow:hidden;background-size:cover;background-position:center}
.hv-phone-s::before{content:"";position:absolute;top:5px;left:50%;width:30%;height:6px;border-radius:6px;background:#000;transform:translateX(-50%);z-index:2}
.hv-phone-s::after{content:"▶";position:absolute;inset:auto 0 10% 0;margin:auto;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.9);color:#000;font-size:11px;display:flex;align-items:center;justify-content:center;padding-left:2px}
/* télécommande */
.hv-remote{position:absolute;z-index:3;right:9%;bottom:4%;width:8.5cqw;height:25cqw;border-radius:4cqw;background:linear-gradient(160deg,#2a2a35,#07070b);box-shadow:0 20px 40px -14px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08) inset;transform:rotate(14deg);display:flex;flex-direction:column;align-items:center;gap:1.6cqw;padding-top:2.2cqw;overflow:hidden}
.hv-remote .pw{flex:none;width:2.2cqw;height:2.2cqw;border-radius:50%;background:#e11d48}
.hv-remote .pad{flex:none;width:6cqw;height:6cqw;border-radius:50%;background:#1f1f29;box-shadow:inset 0 0 0 .8cqw #2d2d3a;position:relative}
.hv-remote .pad::after{content:"";position:absolute;inset:32%;border-radius:50%;background:#3a3a48;transition:background .15s}
.hv.click .hv-remote .pad::after{background:var(--g)}
.hv-remote .row{flex:none;display:flex;gap:1.2cqw}.hv-remote .row i{width:1.8cqw;height:1.8cqw;border-radius:50%;background:#2d2d3a}
.hv-wave{position:absolute;right:13%;bottom:30%;width:12%;aspect-ratio:1}
.hv-wave i{position:absolute;inset:0;border-radius:50%;border:2px solid #6927da;border-color:#6927da transparent transparent transparent;opacity:0;transform:rotate(-30deg)}
.hv.click .hv-wave i{animation:hvWave .7s ease-out forwards}
.hv.click .hv-wave i:nth-child(2){animation-delay:.12s}.hv.click .hv-wave i:nth-child(3){animation-delay:.24s}
@keyframes hvWave{0%{opacity:1;transform:rotate(-30deg) scale(.4)}100%{opacity:0;transform:rotate(-30deg) scale(1.8)}}
@media (max-width:767px){.hv{aspect-ratio:1/0.98}.hv-card{font-size:11px;padding:7px 9px;gap:7px}.hv-card .ic{width:24px;height:24px;font-size:12px}.hv-card small{font-size:9.5px}.hv-c3{top:auto;bottom:2%;right:22%}.hv-tv{left:6%;right:6%;top:17%}.hv-phone{width:19%;left:0;bottom:8%}.hv-remote{right:3%}}
@media (prefers-reduced-motion:reduce){.hv *,.hv *::before,.hv *::after{animation:none!important;transition:none!important}}
