
/* FV CANTOR — HOTFIX 1.6.1 — MOBILE VIEWPORT */

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.fvc-template-root,
.fvc-landing,
.fvc-app-shell,
.fvc-login-page{
  width:100%;
  max-width:100%;
  min-width:0;
}

img,
video,
iframe{
  max-width:100%;
  height:auto;
}

/* Garante que containers Grid/Flex possam encolher no celular. */
.fvc-landing *,
.fvc-app-shell *,
.fvc-login-page *{
  min-width:0;
  box-sizing:border-box;
}

/* Samsung/Chrome: força layout realmente mobile. */
@media screen and (max-width:760px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  .fvc-template-root{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .fvc-landing{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }

  .fvc-landing-topbar{
    width:100%!important;
    max-width:100%!important;
    padding:10px 12px!important;
  }

  .fvc-landing-brand-mark{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }

  .fvc-landing-brand strong{
    font-size:15px!important;
  }

  .fvc-landing-brand small{
    font-size:9px!important;
  }

  .fvc-landing-topbar nav{
    flex:0 0 auto!important;
  }

  .fvc-landing-topbar nav>a:not(.fvc-landing-login){
    display:none!important;
  }

  .fvc-landing-login{
    min-height:42px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    font-size:10px!important;
  }

  .fvc-landing-hero{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    padding:44px 16px 26px!important;
  }

  .fvc-landing-hero-copy{
    width:100%!important;
    max-width:100%!important;
  }

  .fvc-landing-kicker{
    font-size:9px!important;
    letter-spacing:1.25px!important;
  }

  .fvc-landing-hero h1{
    margin:10px 0 14px!important;
    font-size:clamp(38px,11vw,50px)!important;
    line-height:1.02!important;
    letter-spacing:-1.8px!important;
  }

  .fvc-landing-hero-copy>p{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.62!important;
  }

  .fvc-landing-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
  }

  .fvc-landing-actions a{
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
    font-size:11px!important;
  }

  .fvc-landing-trust{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    font-size:9px!important;
  }

  .fvc-landing-visual{
    width:100%!important;
    height:315px!important;
    margin-top:15px!important;
  }

  .fvc-landing-orbit{
    width:280px!important;
    height:280px!important;
    right:50%!important;
    top:18px!important;
    transform:translateX(50%)!important;
  }

  .fvc-landing-player{
    width:min(260px,78vw)!important;
    right:50%!important;
    top:70px!important;
    transform:translateX(50%)!important;
  }

  .fvc-landing-mini{
    transform:scale(.9)!important;
  }

  .fvc-landing-mini.is-one{
    left:0!important;
    top:28px!important;
  }

  .fvc-landing-mini.is-two{
    right:0!important;
    bottom:34px!important;
  }

  .fvc-landing-mini.is-three{
    left:0!important;
    bottom:0!important;
  }

  .fvc-landing-section{
    width:100%!important;
    max-width:100%!important;
    padding:38px 14px!important;
  }

  .fvc-landing-section-head h2,
  .fvc-landing-flow h2{
    font-size:27px!important;
    line-height:1.16!important;
  }

  .fvc-landing-feature-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .fvc-landing-feature-grid article{
    width:100%!important;
    min-height:0!important;
    padding:16px!important;
  }

  .fvc-landing-feature-grid strong{
    margin-top:13px!important;
    font-size:15px!important;
  }

  .fvc-landing-feature-grid p{
    font-size:11px!important;
    line-height:1.55!important;
  }

  .fvc-landing-flow{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:42px 14px!important;
  }

  .fvc-landing-flow-steps{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:20px!important;
  }

  .fvc-landing-cta{
    width:auto!important;
    margin:18px 10px 38px!important;
    padding:34px 16px!important;
  }

  .fvc-landing-cta h2{
    font-size:28px!important;
  }

  /* Footer: duas colunas reais no celular */
  .fvc-global-footer{
    width:100%!important;
    max-width:100%!important;
  }

  .fvc-global-footer-inner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:24px 12px 18px!important;
  }

  .fvc-footer-brand{
    margin-bottom:22px!important;
  }

  .fvc-footer-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .fvc-footer-links a{
    min-height:44px!important;
    width:100%!important;
    padding:7px!important;
    font-size:9px!important;
  }

  .fvc-footer-bottom{
    width:100%!important;
    padding:12px!important;
    flex-direction:column!important;
  }

  /* Login */
  .fvc-login-page{
    width:100%!important;
    max-width:100%!important;
    padding:8px!important;
  }

  .fvc-login-layout{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:8px auto 28px!important;
  }

  .fvc-login-promo{
    min-height:0!important;
    padding:24px 18px!important;
  }

  .fvc-login-promo h1{
    font-size:32px!important;
  }

  .fvc-login-panel{
    padding:24px 18px!important;
  }

  /* App interno */
  .fvc-app-shell,
  .fvc-app-main,
  .fvc-app-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .fvc-app-main{
    margin:0!important;
  }

  /* PWA indicator must not impose width/zoom */
  .fvc-pwa-status{
    min-width:0!important;
    max-width:calc(100vw - 16px)!important;
  }
}

@media screen and (max-width:380px){
  .fvc-landing-hero h1{
    font-size:36px!important;
  }

  .fvc-footer-links{
    grid-template-columns:1fr!important;
  }
}
