/* IT310RESPONSIVE_DEVICE_PASS2K
   Correção final direcionada: background mobile sem camada fixed + paridade AVADOG FixtureBridge/FixtureBuilder.
   Preserva menus laterais aprovados, desktop, backend, motores, rotas, QR/donate e identidade. */

@media (max-width:960px){
  /* PASS2K: remove a solução fixed do PASS2J. Em Chrome/Safari mobile, camadas fixed podem
     balançar quando a barra do navegador muda durante o gesto. O fundo volta para o canvas
     raiz (html), sem camada flutuante e sem visualViewport controlando repaint. */
  html.it-device-runtime-ready,
  html.it-dr-ready,
  html.it-dr-phone,
  html.it-dr-phone-small,
  html.it-dr-tablet{
    background-color:#02040a!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-position:center top!important;
    background-attachment:scroll!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none!important;
  }

  html.it-bg-home,
  html.it-bg-earth,
  html.it-bg-clean{
    background-image:
      linear-gradient(180deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.36) 44%,rgba(0,0,0,.78) 100%),
      linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.20),rgba(0,0,0,.74)),
      image-set(url('/assets/backgrounds/infotech-bg-home-1200.webp') type('image/webp'),url('/assets/backgrounds/infotech-bg-home.jpg') type('image/jpeg'))!important;
    background-size:cover,cover,cover!important;
    background-position:center top,center top,62% top!important;
  }

  html.it-bg-tools,
  html.it-bg-space{
    background-image:
      radial-gradient(circle at 18% 25%,rgba(0,245,255,.15),transparent 28%),
      radial-gradient(circle at 86% 18%,rgba(255,0,212,.10),transparent 30%),
      linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.18) 48%,rgba(0,0,0,.48)),
      image-set(url('/assets/backgrounds/infotech-bg-tools.webp') type('image/webp'),url('/assets/backgrounds/infotech-bg-tools-fallback.jpg') type('image/jpeg'))!important;
    background-size:cover,cover,cover,cover!important;
    background-position:center top,center top,center top,center top!important;
  }

  body{
    background:transparent!important;
    background-image:none!important;
    background-color:transparent!important;
    background-attachment:scroll!important;
    overflow-x:hidden!important;
  }

  body > .it-mobile-bg-root,
  html.it-mobile-bg-canvas-ready body > .it-mobile-bg-root,
  html.it-mobile-bg-root-ready body > .it-mobile-bg-root{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    background:none!important;
    animation:none!important;
    transition:none!important;
    transform:none!important;
    will-change:auto!important;
  }

  body > .bg,
  body .bg:not(.it-mobile-bg-root),
  body > .space-bg,
  body .space-bg,
  body > .stars,
  body .stars,
  body > .home-lab-bg,
  body .home-lab-bg,
  body > .software-lab-bg,
  body .software-lab-bg,
  body > .ixdesk-bg-layer,
  body .ixdesk-bg-layer,
  body > .ixdesk-mountains,
  body .ixdesk-mountains,
  body > .infotech-particles,
  body .infotech-particles,
  body::before,
  body::after{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    background:none!important;
    background-image:none!important;
    background-attachment:scroll!important;
    animation:none!important;
    transition:none!important;
    transform:none!important;
    will-change:auto!important;
  }

  body > :not(script):not(style):not(link):not(.it-mobile-bg-root){
    position:relative;
    z-index:1;
  }
}

@media (min-width:961px){
  body > .it-mobile-bg-root{display:none!important;}
}

/* AVADOG: paridade visual e remoção de quadro branco/translúcido.
   O botão/vídeo não pode ter background, borda, máscara ou card fantasma. */
body.fixturebridge-page .infotech-support-float,
body.fixture-bridge-page .infotech-support-float,
body.fixture-builder-page .infotech-support-float{
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body.fixturebridge-page .infotech-support-float .support-mascot-btn,
body.fixture-bridge-page .infotech-support-float .support-mascot-btn,
body.fixture-builder-page .infotech-support-float .support-mascot-btn{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  overflow:visible!important;
  border-radius:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  -webkit-tap-highlight-color:transparent!important;
}

body.fixturebridge-page .infotech-support-float .support-mascot-btn::before,
body.fixturebridge-page .infotech-support-float .support-mascot-btn::after,
body.fixture-bridge-page .infotech-support-float .support-mascot-btn::before,
body.fixture-bridge-page .infotech-support-float .support-mascot-btn::after,
body.fixture-builder-page .infotech-support-float .support-mascot-btn::before,
body.fixture-builder-page .infotech-support-float .support-mascot-btn::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

body.fixturebridge-page .infotech-support-float .support-mascot-btn video,
body.fixturebridge-page .infotech-support-float .support-mascot-btn img,
body.fixture-bridge-page .infotech-support-float .support-mascot-btn video,
body.fixture-bridge-page .infotech-support-float .support-mascot-btn img,
body.fixture-builder-page .infotech-support-float .support-mascot-btn video,
body.fixture-builder-page .infotech-support-float .support-mascot-btn img{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  border-radius:0!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}

/* FixtureBuilder: manter movimento aprovado, mas garantir o balão/popup igual ao FixtureBridge. */
body.fixture-builder-page .infotech-support-float .support-bubble,
body.fixturebridge-page .infotech-support-float .support-bubble,
body.fixture-bridge-page .infotech-support-float .support-bubble{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:none!important;
  transform:none!important;
  background:linear-gradient(145deg,rgba(8,14,32,.96),rgba(22,10,38,.95))!important;
  border:1px solid rgba(0,245,255,.32)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34),0 0 18px rgba(0,245,255,.10)!important;
}

body.fixture-builder-page .infotech-support-float .support-bubble p,
body.fixturebridge-page .infotech-support-float .support-bubble p,
body.fixture-bridge-page .infotech-support-float .support-bubble p{
  min-height:40px!important;
}

body.fixture-builder-page .infotech-support-float .support-bubble #supportTypingText:empty::before,
body.fixturebridge-page .infotech-support-float .support-bubble #supportTypingText:empty::before,
body.fixture-bridge-page .infotech-support-float .support-bubble #supportTypingText:empty::before{
  content:'Encontrou algum erro? Precisa de ajuda?'!important;
}

@media (max-width:620px){
  body.fixture-builder-page .infotech-support-float .support-bubble,
  body.fixturebridge-page .infotech-support-float .support-bubble,
  body.fixture-bridge-page .infotech-support-float .support-bubble{
    right:0!important;
    bottom:104px!important;
    width:min(292px,calc(100vw - 18px))!important;
    max-width:min(292px,calc(100vw - 18px))!important;
  }
}
