/* INFOTECH 3.10AN — AVADOG context lock
   Fixes AM regression by separating desktop and mobile rules.
   Desktop FixtureBridge returns to the approved 310AD size/behavior.
   Mobile rules are scoped to max-width only. */

@keyframes infotechAvaSoftFloat310AN{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-5px,0)}
}

body .infotech-support-float,
body .infotech-support-float.open,
body .infotech-support-float.talking,
body .infotech-support-float.scroll-left,
body .infotech-support-float.scroll-right{
  position:fixed!important;
  display:block!important;
  pointer-events:none!important;
  transform:none!important;
  z-index:8800!important;
  overflow:visible!important;
  contain:none!important;
  isolation:isolate!important;
}

body .infotech-support-float .support-mascot-btn,
body .infotech-support-float .support-card,
body .infotech-support-float .support-actions a,
body .infotech-support-float .support-actions button{
  pointer-events:auto!important;
}

body .infotech-support-float .support-bubble{
  position:absolute!important;
  right:0!important;
  pointer-events:none!important;
  transform:none!important;
  margin:0!important;
  max-width:calc(100vw - 32px)!important;
}

body .infotech-support-float .support-card{
  position:absolute!important;
  right:0!important;
  transform:none!important;
  max-width:calc(100vw - 32px)!important;
  max-height:min(430px,calc(100vh - 170px))!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}

body .infotech-support-float:not(.open) .support-card{
  pointer-events:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

body .infotech-support-float .support-mascot-btn{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  animation:infotechAvaSoftFloat310AN 3.8s ease-in-out infinite!important;
  will-change:transform!important;
}

body .infotech-support-float .support-mascot-btn video,
body .infotech-support-float .support-mascot-btn img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-position:center center!important;
  transform-origin:center center!important;
  pointer-events:none!important;
}

body .infotech-support-float .support-mascot-btn video{
  object-fit:cover!important;
  opacity:1!important;
  visibility:visible!important;
}

body .infotech-support-float .support-mascot-btn img{
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
}

body .infotech-support-float .support-mascot-btn.video-ready img,
body .infotech-support-float .support-mascot-btn.ava-video-ready img{
  opacity:0!important;
  visibility:hidden!important;
}

body .infotech-support-float .support-mascot-btn.video-fallback:not(.video-ready):not(.ava-video-ready) video{
  opacity:0!important;
  visibility:hidden!important;
}

body .infotech-support-float .support-mascot-btn.video-fallback:not(.video-ready):not(.ava-video-ready) img{
  opacity:1!important;
  visibility:visible!important;
}

/* DESKTOP ONLY — do not let mobile tuning change desktop sizes. */
@media(min-width:901px){
  body .infotech-support-float{
    right:18px!important;
    bottom:16px!important;
    width:176px!important;
    height:176px!important;
  }
  body .infotech-support-float .support-mascot-btn{
    width:176px!important;
    height:176px!important;
    min-width:176px!important;
    min-height:176px!important;
    border-radius:30px!important;
  }
  body .infotech-support-float .support-mascot-btn video{transform:scale(1.22)!important;}
  body .infotech-support-float .support-mascot-btn img{transform:scale(1.04)!important;}
  body .infotech-support-float .support-bubble{bottom:178px!important;width:304px!important;}
  body .infotech-support-float .support-card{bottom:248px!important;width:304px!important;}

  /* FixtureBuilder desktop: exactly the approved stable size. */
  body.fixture-builder-page .infotech-support-float{
    right:18px!important;
    bottom:16px!important;
    width:178px!important;
    height:178px!important;
  }
  body.fixture-builder-page .infotech-support-float .support-mascot-btn{
    width:178px!important;
    height:178px!important;
    min-width:178px!important;
    min-height:178px!important;
    border-radius:32px!important;
  }
  body.fixture-builder-page .infotech-support-float .support-mascot-btn video{object-fit:cover!important;transform:scale(1.30)!important;}
  body.fixture-builder-page .infotech-support-float .support-mascot-btn img{object-fit:contain!important;transform:scale(1.10)!important;}
  body.fixture-builder-page .infotech-support-float .support-bubble{bottom:178px!important;width:310px!important;max-width:calc(100vw - 32px)!important;}
  body.fixture-builder-page .infotech-support-float .support-card{bottom:250px!important;width:310px!important;max-width:calc(100vw - 32px)!important;}

  /* FixtureBridge desktop: restored to the larger approved 310AD behavior. */
  body.fixturebridge-page .infotech-support-float,
  body.fixture-bridge-page .infotech-support-float{
    right:18px!important;
    bottom:16px!important;
    width:228px!important;
    height:228px!important;
  }
  body.fixturebridge-page .infotech-support-float .support-mascot-btn,
  body.fixture-bridge-page .infotech-support-float .support-mascot-btn{
    width:228px!important;
    height:228px!important;
    min-width:228px!important;
    min-height:228px!important;
    border-radius:36px!important;
  }
  body.fixturebridge-page .infotech-support-float .support-mascot-btn video,
  body.fixture-bridge-page .infotech-support-float .support-mascot-btn video{object-fit:cover!important;transform:scale(1.26)!important;}
  body.fixturebridge-page .infotech-support-float .support-mascot-btn img,
  body.fixture-bridge-page .infotech-support-float .support-mascot-btn img{object-fit:contain!important;transform:scale(1.08)!important;}
  body.fixturebridge-page .infotech-support-float .support-bubble,
  body.fixture-bridge-page .infotech-support-float .support-bubble{bottom:228px!important;width:330px!important;max-width:calc(100vw - 32px)!important;}
  body.fixturebridge-page .infotech-support-float .support-card,
  body.fixture-bridge-page .infotech-support-float .support-card{bottom:312px!important;width:330px!important;max-width:calc(100vw - 32px)!important;}
}

/* MOBILE ONLY — compact without changing desktop. */
@media(max-width:900px){
  body .infotech-support-float,
  body .infotech-support-float.open,
  body .infotech-support-float.talking{
    right:9px!important;
    bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;
    width:92px!important;
    height:92px!important;
  }
  body .infotech-support-float .support-mascot-btn{
    width:92px!important;
    height:92px!important;
    min-width:92px!important;
    min-height:92px!important;
    border-radius:22px!important;
  }
  body .infotech-support-float .support-mascot-btn video{object-fit:cover!important;transform:scale(1.26)!important;}
  body .infotech-support-float .support-mascot-btn img{object-fit:contain!important;transform:scale(1.08)!important;}
  body .infotech-support-float .support-bubble{bottom:96px!important;width:min(276px,calc(100vw - 18px))!important;}
  body .infotech-support-float .support-card{bottom:166px!important;width:min(276px,calc(100vw - 18px))!important;max-height:min(390px,calc(100vh - 146px))!important;}

  body.fixture-builder-page .infotech-support-float,
  body.fixture-builder-page .infotech-support-float.open,
  body.fixture-builder-page .infotech-support-float.talking{
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    width:104px!important;
    height:104px!important;
  }
  body.fixture-builder-page .infotech-support-float .support-mascot-btn{
    width:104px!important;
    height:104px!important;
    min-width:104px!important;
    min-height:104px!important;
    border-radius:24px!important;
  }
  body.fixture-builder-page .infotech-support-float .support-mascot-btn video{object-fit:cover!important;transform:scale(1.32)!important;}
  body.fixture-builder-page .infotech-support-float .support-mascot-btn img{object-fit:contain!important;transform:scale(1.10)!important;}
  body.fixture-builder-page .infotech-support-float .support-bubble{bottom:108px!important;width:min(286px,calc(100vw - 20px))!important;}
  body.fixture-builder-page .infotech-support-float .support-card{bottom:182px!important;width:min(286px,calc(100vw - 20px))!important;}

  body.fixturebridge-page .infotech-support-float,
  body.fixture-bridge-page .infotech-support-float,
  body.fixturebridge-page .infotech-support-float.open,
  body.fixture-bridge-page .infotech-support-float.open{
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    width:110px!important;
    height:110px!important;
  }
  body.fixturebridge-page .infotech-support-float .support-mascot-btn,
  body.fixture-bridge-page .infotech-support-float .support-mascot-btn{
    width:110px!important;
    height:110px!important;
    min-width:110px!important;
    min-height:110px!important;
    border-radius:25px!important;
  }
  body.fixturebridge-page .infotech-support-float .support-mascot-btn video,
  body.fixture-bridge-page .infotech-support-float .support-mascot-btn video{object-fit:cover!important;transform:scale(1.30)!important;}
  body.fixturebridge-page .infotech-support-float .support-mascot-btn img,
  body.fixture-bridge-page .infotech-support-float .support-mascot-btn img{object-fit:contain!important;transform:scale(1.08)!important;}
  body.fixturebridge-page .infotech-support-float .support-bubble,
  body.fixture-bridge-page .infotech-support-float .support-bubble{bottom:114px!important;width:min(292px,calc(100vw - 20px))!important;}
  body.fixturebridge-page .infotech-support-float .support-card,
  body.fixture-bridge-page .infotech-support-float .support-card{bottom:188px!important;width:min(292px,calc(100vw - 20px))!important;}
}

@media(max-width:430px){
  body .infotech-support-float,
  body .infotech-support-float.open{width:84px!important;height:84px!important;}
  body .infotech-support-float .support-mascot-btn{width:84px!important;height:84px!important;min-width:84px!important;min-height:84px!important;}
  body .infotech-support-float .support-bubble{bottom:88px!important;}
  body .infotech-support-float .support-card{bottom:154px!important;}

  body.fixture-builder-page .infotech-support-float,
  body.fixture-builder-page .infotech-support-float.open{width:98px!important;height:98px!important;}
  body.fixture-builder-page .infotech-support-float .support-mascot-btn{width:98px!important;height:98px!important;min-width:98px!important;min-height:98px!important;}
  body.fixture-builder-page .infotech-support-float .support-bubble{bottom:102px!important;}
  body.fixture-builder-page .infotech-support-float .support-card{bottom:174px!important;}

  body.fixturebridge-page .infotech-support-float,
  body.fixture-bridge-page .infotech-support-float,
  body.fixturebridge-page .infotech-support-float.open,
  body.fixture-bridge-page .infotech-support-float.open{width:104px!important;height:104px!important;}
  body.fixturebridge-page .infotech-support-float .support-mascot-btn,
  body.fixture-bridge-page .infotech-support-float .support-mascot-btn{width:104px!important;height:104px!important;min-width:104px!important;min-height:104px!important;}
  body.fixturebridge-page .infotech-support-float .support-bubble,
  body.fixture-bridge-page .infotech-support-float .support-bubble{bottom:108px!important;}
  body.fixturebridge-page .infotech-support-float .support-card,
  body.fixture-bridge-page .infotech-support-float .support-card{bottom:180px!important;}
}

@media(prefers-reduced-motion:reduce){
  body .infotech-support-float .support-mascot-btn{animation:none!important;}
}
