/* ========================================================================== 
   IPTV Belgique Premium v3.2.101.80 — Homepage Motion & 3D Experience Masterpiece
   Scope: visual/motion layer only. Transform/opacity based, mobile-safe, no layout mutation.
   ========================================================================== */
body.iptvb-theme .iptvb-home{
  --mp-ink:#101827;
  --mp-amber:#f59e0b;
  --mp-orange:#f97316;
  --mp-coral:#ef5f3c;
  --mp-rose:#fb7185;
  --mp-blue:#2563eb;
  --mp-cyan:#06b6d4;
  --mp-green:#10b981;
  --mp-soft-shadow:0 18px 48px rgba(15,23,42,.075);
  --mp-deep-shadow:0 28px 86px rgba(15,23,42,.14);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-image:
    radial-gradient(circle at 8% 14%,rgba(255,186,100,.12),transparent 28%),
    radial-gradient(circle at 96% 38%,rgba(251,113,133,.09),transparent 28%),
    radial-gradient(circle at 50% 90%,rgba(37,99,235,.055),transparent 32%);
}
body.iptvb-theme .iptvb-home::before,
body.iptvb-theme .iptvb-home::after{
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  border-radius:999px;
  filter:blur(28px);
  opacity:.52;
  transform:translate3d(0,0,0);
}
body.iptvb-theme .iptvb-home::before{
  width:min(42vw,520px);
  height:min(42vw,520px);
  left:-13vw;
  top:16vh;
  background:radial-gradient(circle,rgba(245,158,11,.22),rgba(251,113,133,.06) 45%,transparent 72%);
  animation:iptvbMpAmbientA 18s ease-in-out infinite alternate;
}
body.iptvb-theme .iptvb-home::after{
  width:min(36vw,460px);
  height:min(36vw,460px);
  right:-12vw;
  top:42vh;
  background:radial-gradient(circle,rgba(37,99,235,.13),rgba(6,182,212,.05) 44%,transparent 72%);
  animation:iptvbMpAmbientB 22s ease-in-out infinite alternate;
}
body.iptvb-theme .hero-lock{
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
}
body.iptvb-theme .hero-lock::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.28;
  background:
    linear-gradient(110deg,transparent 0%,rgba(255,255,255,.8) 47%,transparent 54%) 0 0/220% 100%,
    radial-gradient(circle at 78% 18%,rgba(245,158,11,.18),transparent 26%);
  animation:iptvbMpHeroSweep 9s cubic-bezier(.22,1,.36,1) infinite;
}
body.iptvb-theme .hero-lock__grid,
body.iptvb-theme .hero-lock__copy,
body.iptvb-theme .hero-lock__visual{position:relative;z-index:1;}
body.iptvb-theme .hero-title span,
body.iptvb-theme .hero-title strong{
  display:block;
  transform-origin:left center;
  will-change:transform,opacity,filter;
}
body.iptvb-theme .hero-title strong{
  background:linear-gradient(105deg,#ffb13b 0%,#f97316 42%,#ea3f31 74%,#fb7185 100%);
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow:0 18px 58px rgba(249,115,22,.18);
}
body.iptvb-theme .hero-asset-wrap{
  position:relative;
  transform-style:preserve-3d;
  will-change:transform;
  transition:transform .34s cubic-bezier(.22,1,.36,1),filter .34s ease;
}
body.iptvb-theme .hero-asset-wrap::before,
body.iptvb-theme .hero-asset-wrap::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:38px;
  inset:9% 4% 7%;
  z-index:-1;
}
body.iptvb-theme .hero-asset-wrap::before{
  background:
    linear-gradient(135deg,rgba(255,255,255,.46),rgba(255,255,255,0)),
    radial-gradient(circle at 72% 20%,rgba(245,158,11,.28),transparent 28%),
    radial-gradient(circle at 28% 74%,rgba(59,130,246,.11),transparent 30%);
  filter:blur(1px);
  transform:translate3d(0,16px,-28px) scale(.94);
}
body.iptvb-theme .hero-asset-wrap::after{
  inset:11% 10% 12%;
  border:1px solid rgba(255,255,255,.54);
  background:linear-gradient(120deg,rgba(255,255,255,.42),rgba(255,255,255,.08));
  box-shadow:0 28px 90px rgba(15,23,42,.18),0 0 80px rgba(245,158,11,.14);
  transform:translate3d(0,26px,-42px) scale(.90);
}
body.iptvb-theme .hero-cutout{
  will-change:transform,filter;
  filter:drop-shadow(0 34px 54px rgba(15,23,42,.18));
  transform:translate3d(0,0,0) scale(1.012);
}
body.iptvb-theme.iptvb-mp-active .hero-lock__visual[data-parallax] .hero-asset-wrap{
  transform:perspective(1050px) rotateX(calc(var(--mp-hero-y,0) * -1deg)) rotateY(calc(var(--mp-hero-x,0) * 1deg)) translate3d(calc(var(--mp-hero-x,0) * 2px),calc(var(--mp-hero-y,0) * 1.4px),0);
}
body.iptvb-theme .hero-benefit-card,
body.iptvb-theme .proof-chip,
body.iptvb-theme .price-card,
body.iptvb-theme .info-card,
body.iptvb-theme .logo-card,
body.iptvb-theme .content-depth-cards article,
body.iptvb-theme .content-universe-card,
body.iptvb-theme .app-card,
body.iptvb-theme .device,
body.iptvb-theme .step,
body.iptvb-theme .seo-link-card,
body.iptvb-theme .review-card,
body.iptvb-theme .faq-list details,
body.iptvb-theme .proof-strip-grid article,
body.iptvb-theme .compat-micro-grid article,
body.iptvb-theme .app-guidance-grid article{
  transform-style:preserve-3d;
  will-change:transform,box-shadow,filter;
  transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .28s ease,background .28s ease,filter .28s ease;
  backface-visibility:hidden;
}
body.iptvb-theme .price-card::after,
body.iptvb-theme .info-card::after,
body.iptvb-theme .content-universe-card::after,
body.iptvb-theme .seo-link-card::after,
body.iptvb-theme .proof-strip-grid article::after,
body.iptvb-theme .app-card::after,
body.iptvb-theme .device::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.68) 46%,transparent 58%);
  transform:translateX(-120%) skewX(-17deg);
  transition:opacity .24s ease,transform .72s cubic-bezier(.22,1,.36,1);
}
body.iptvb-theme .price-card:hover::after,
body.iptvb-theme .info-card:hover::after,
body.iptvb-theme .content-universe-card:hover::after,
body.iptvb-theme .seo-link-card:hover::after,
body.iptvb-theme .proof-strip-grid article:hover::after,
body.iptvb-theme .app-card:hover::after,
body.iptvb-theme .device:hover::after{
  opacity:.42;
  transform:translateX(120%) skewX(-17deg);
}
body.iptvb-theme.iptvb-mp-pointer .iptvb-mp-tilt.is-mp-tilting{
  transform:perspective(920px) rotateX(var(--mp-tilt-y,0deg)) rotateY(var(--mp-tilt-x,0deg)) translateY(-6px) scale(1.012)!important;
  box-shadow:var(--mp-deep-shadow)!important;
  border-color:rgba(249,115,22,.28)!important;
  filter:saturate(1.04);
}
body.iptvb-theme .price-card.featured{
  box-shadow:0 26px 80px rgba(249,115,22,.18),0 10px 36px rgba(15,23,42,.07)!important;
}
body.iptvb-theme .price-card.featured::before{
  animation:iptvbMpFeaturedAura 4.8s ease-in-out infinite alternate;
}
body.iptvb-theme .logo-card img,
body.iptvb-theme .app-card img,
body.iptvb-theme .device-image,
body.iptvb-theme .proof-strip-grid img,
body.iptvb-theme .support-depth-visual img{
  transition:transform .34s cubic-bezier(.22,1,.36,1),filter .34s ease;
  will-change:transform,filter;
}
body.iptvb-theme .logo-card:hover img,
body.iptvb-theme .app-card:hover img,
body.iptvb-theme .device:hover .device-image,
body.iptvb-theme .proof-strip-grid article:hover img{
  transform:translate3d(0,-3px,24px) scale(1.045);
  filter:drop-shadow(0 14px 22px rgba(15,23,42,.13));
}
body.iptvb-theme .channel-groups .logo-card:nth-child(3n+1),
body.iptvb-theme .apps-row .app-card:nth-child(3n+1),
body.iptvb-theme .devices .device:nth-child(3n+1){animation-delay:.2s;}
body.iptvb-theme .channel-groups .logo-card:nth-child(3n+2),
body.iptvb-theme .apps-row .app-card:nth-child(3n+2),
body.iptvb-theme .devices .device:nth-child(3n+2){animation-delay:.55s;}
body.iptvb-theme .channel-groups .logo-card:nth-child(3n),
body.iptvb-theme .apps-row .app-card:nth-child(3n),
body.iptvb-theme .devices .device:nth-child(3n){animation-delay:.9s;}
body.iptvb-theme.iptvb-mp-active .channel-groups .logo-card,
body.iptvb-theme.iptvb-mp-active .apps-row .app-card,
body.iptvb-theme.iptvb-mp-active .devices .device{
  animation-name:iptvbMpFloat;
  animation-duration:7.4s;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-direction:alternate;
}
body.iptvb-theme .btn,
body.iptvb-theme .round-link,
body.iptvb-theme .reviews-prev,
body.iptvb-theme .reviews-next{
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
  will-change:transform,box-shadow;
}
body.iptvb-theme .btn::after,
body.iptvb-theme .round-link::after{
  content:"";
  position:absolute;
  inset:-30% -50%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.78) 48%,transparent 68%);
  transform:translateX(-80%) rotate(8deg);
  transition:opacity .22s ease,transform .7s cubic-bezier(.22,1,.36,1);
}
body.iptvb-theme .btn:hover::after,
body.iptvb-theme .round-link:hover::after{opacity:.58;transform:translateX(78%) rotate(8deg);}
body.iptvb-theme.iptvb-mp-pointer .iptvb-mp-magnetic.is-mp-magnetic{
  transform:translate3d(var(--mp-magnetic-x,0),var(--mp-magnetic-y,0),0) scale(1.018)!important;
}
body.iptvb-theme .section-title,
body.iptvb-theme .pricing-kicker,
body.iptvb-theme .proof-strip-kicker,
body.iptvb-theme .faq-kicker,
body.iptvb-theme .eyebrow{
  text-wrap:balance;
}
body.iptvb-theme.iptvb-mp-active .section-pad,
body.iptvb-theme.iptvb-mp-active .section-pad-sm,
body.iptvb-theme.iptvb-mp-active .section-pad-xs{
  position:relative;
}
body.iptvb-theme.iptvb-mp-active .section-pad::before,
body.iptvb-theme.iptvb-mp-active .section-pad-sm::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:4%;
  top:12%;
  pointer-events:none;
  border-radius:999px;
  background:radial-gradient(circle,rgba(245,158,11,.07),transparent 66%);
  filter:blur(4px);
  opacity:.74;
  transform:translate3d(0,0,0);
}
body.iptvb-theme .faq-list details[open]{
  box-shadow:0 18px 52px rgba(15,23,42,.075)!important;
  border-color:rgba(249,115,22,.24)!important;
}
body.iptvb-theme .faq-answer{
  overflow:hidden;
  will-change:max-height,opacity,transform;
}
body.iptvb-theme.iptvb-mp-active .final-cta{
  position:relative;
  overflow:hidden;
}
body.iptvb-theme.iptvb-mp-active .final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.52) 47%,transparent 54%) 0 0/220% 100%;
  opacity:.38;
  animation:iptvbMpHeroSweep 8.5s cubic-bezier(.22,1,.36,1) infinite;
}
@keyframes iptvbMpAmbientA{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(8vw,8vh,0) scale(1.12)}}
@keyframes iptvbMpAmbientB{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-7vw,10vh,0) scale(1.08)}}
@keyframes iptvbMpHeroSweep{0%,22%{background-position:120% 0,0 0}54%,100%{background-position:-120% 0,0 0}}
@keyframes iptvbMpFloat{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-5px,0)}}
@keyframes iptvbMpFeaturedAura{0%{filter:saturate(1);box-shadow:0 0 0 rgba(249,115,22,0)}100%{filter:saturate(1.07);box-shadow:0 0 44px rgba(249,115,22,.24)}}
@media (max-width: 980px){
  body.iptvb-theme .iptvb-home::before,
  body.iptvb-theme .iptvb-home::after{opacity:.32;filter:blur(34px);}
  body.iptvb-theme.iptvb-mp-active .channel-groups .logo-card,
  body.iptvb-theme.iptvb-mp-active .apps-row .app-card,
  body.iptvb-theme.iptvb-mp-active .devices .device{animation:none!important;}
  body.iptvb-theme .hero-asset-wrap{transform:none!important;}
}
@media (max-width: 640px){
  body.iptvb-theme .hero-lock::before{opacity:.18;}
  body.iptvb-theme .btn::after,
  body.iptvb-theme .round-link::after{display:none;}
  body.iptvb-theme.iptvb-mp-pointer .iptvb-mp-tilt.is-mp-tilting,
  body.iptvb-theme.iptvb-mp-pointer .iptvb-mp-magnetic.is-mp-magnetic{transform:none!important;}
}
@media (prefers-reduced-motion: reduce){
  body.iptvb-theme .iptvb-home::before,
  body.iptvb-theme .iptvb-home::after,
  body.iptvb-theme .hero-lock::before,
  body.iptvb-theme.iptvb-mp-active .final-cta::before,
  body.iptvb-theme.iptvb-mp-active .channel-groups .logo-card,
  body.iptvb-theme.iptvb-mp-active .apps-row .app-card,
  body.iptvb-theme.iptvb-mp-active .devices .device,
  body.iptvb-theme .price-card.featured::before{animation:none!important;}
  body.iptvb-theme .iptvb-home *,
  body.iptvb-theme .iptvb-home *::before,
  body.iptvb-theme .iptvb-home *::after{transition:none!important;scroll-behavior:auto!important;}
}
