/* V120 — correção mobile definitiva sem alterar o desktop */
@media (max-width: 860px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none!important;
  }
  body{position:relative!important}
  *,*::before,*::after{box-sizing:border-box!important;min-width:0}
  img,svg,video,canvas,iframe{max-width:100%!important}
  main,.site-footer,.site-header,.page-bg{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}
  .container,
  .narrow-admin-container{
    width:calc(100% - 24px)!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* Header e navegação */
  .site-header{
    position:sticky!important;
    top:8px!important;
    z-index:10050!important;
    padding:0!important;
  }
  .site-header .nav-shell{
    width:calc(100% - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    min-height:64px!important;
    height:64px!important;
    margin:0 auto!important;
    padding:8px 10px 8px 12px!important;
    display:grid!important;
    grid-template-columns:minmax(58px,1fr) 40px 58px!important;
    grid-template-areas:"brand toggle actions"!important;
    gap:8px!important;
    align-items:center!important;
    overflow:visible!important;
    border-radius:20px!important;
  }
  .site-header .brand{grid-area:brand!important;justify-self:start!important;max-width:92px!important;overflow:hidden!important}
  .site-header .brand-logo{width:62px!important;height:40px!important;max-width:62px!important;object-fit:contain!important}
  .site-header .nav-toggle{
    grid-area:toggle!important;
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    width:40px!important;
    height:40px!important;
    padding:0!important;
    margin:0!important;
    border-radius:13px!important;
    justify-self:center!important;
    z-index:10054!important;
  }
  .site-header .nav-toggle span{
    position:absolute!important;
    left:50%!important;
    width:18px!important;
    height:2px!important;
    margin:0!important;
    transform-origin:center!important;
  }
  .site-header .nav-toggle span:nth-child(1){top:13px!important;transform:translateX(-50%)!important}
  .site-header .nav-toggle span:nth-child(2){top:19px!important;transform:translateX(-50%)!important}
  .site-header .nav-toggle span:nth-child(3){top:25px!important;transform:translateX(-50%)!important}
  .site-header .nav-toggle.is-open span:nth-child(1){top:19px!important;transform:translateX(-50%) rotate(45deg)!important}
  .site-header .nav-toggle.is-open span:nth-child(2){opacity:0!important}
  .site-header .nav-toggle.is-open span:nth-child(3){top:19px!important;transform:translateX(-50%) rotate(-45deg)!important}
  .site-header .nav-actions{
    grid-area:actions!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    width:auto!important;
    overflow:visible!important;
  }
  .site-header .theme-toggle{width:48px!important;height:34px!important;min-width:48px!important}
  .site-header .theme-toggle .toggle-orb{width:24px!important;height:24px!important;left:5px!important}
  html[data-theme="dark"] .site-header .theme-toggle .toggle-orb{left:19px!important}
  .site-header .login-pill{display:none!important}

  .site-header .nav-menu{
    position:fixed!important;
    top:82px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 104px)!important;
    margin:0!important;
    padding:12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:22px!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-10px) scale(.98)!important;
    transform-origin:top center!important;
    box-shadow:0 24px 70px rgba(0,0,0,.30)!important;
    z-index:10053!important;
  }
  .site-header .nav-menu.open,
  .site-header.nav-is-open-v71 .nav-menu{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:translateY(0) scale(1)!important;
  }
  .site-header .nav-link{
    width:100%!important;
    min-height:50px!important;
    padding:14px 16px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border-radius:15px!important;
    border:1px solid var(--line)!important;
    background:color-mix(in srgb,var(--surface) 92%,var(--blue) 8%)!important;
    color:var(--text)!important;
    font-size:15px!important;
    line-height:1.2!important;
    text-align:left!important;
    transform:none!important;
  }
  .site-header .nav-link.active{
    background:linear-gradient(135deg,var(--blue),var(--blue2))!important;
    color:#fff!important;
    border-color:transparent!important;
  }
  .site-header .nav-link::after{display:none!important}
  .nav-backdrop-v71{inset:0!important;width:100vw!important;height:100dvh!important}

  /* Seções e grids */
  .hqt-institutional-intro-grid-v109,
  .hqt-delivery-panel-v109,
  .page-hero-grid,
  .product-detail-grid-modern,
  .client-auth-grid,
  .footer-grid,
  .catalog-wide-grid,
  .hqt-service-grid-v109,
  .home-product-grid,
  .home-service-grid,
  .plans-grid-modern,
  .info-rail,
  .pricing-flow-bar,
  .modern-values{
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:16px!important;
  }
  section,article,aside,header,footer,nav,div{max-width:100%}
  .hqt-institutional-banner-v112,
  .page-hero-banner-v64,
  .product-detail-banner-v100,
  .site-banner-carousel-v64{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .hqt-institutional-banner-v112{min-height:260px!important;border-radius:24px!important}

  /* Cards */
  .product-card,
  .page-product-card,
  .clean-card,
  .home-mini-card,
  .hqt-service-card-v109,
  .plan-card,
  .admin-panel-pro{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    border-radius:24px!important;
  }
  .product-card,
  .page-product-card,
  .clean-card,
  .home-mini-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    padding:20px!important;
    gap:14px!important;
  }
  .product-card-icon-zone,
  .product-card-copy,
  .product-card-actions{grid-column:1!important;width:100%!important}
  .product-card-copy h3,
  .product-card h3,
  .hqt-service-card-v109 h3,
  .page-product-card .product-card-copy h3,
  .clean-card .product-card-copy h3,
  .home-mini-card .product-card-copy h3,
  .service-card .product-card-copy h3{
    font-size:30px!important;
    line-height:1.05!important;
    overflow-wrap:anywhere!important;
  }
  .hqt-service-card-v109{min-height:0!important;padding:22px!important}
  .hqt-service-icon-v109,
  .service-icon-clean-v113{
    width:104px!important;
    height:104px!important;
    min-width:104px!important;
    min-height:104px!important;
    border-radius:28px!important;
  }
  .hqt-service-icon-v109 svg,
  .service-icon-clean-v113 svg{width:52px!important;height:52px!important}

  /* Carrossel de clientes sem criar scroll lateral */
  .hqt-clients-v114,
  .hqt-clients-v117,
  .hqt-clients-marquee-v114,
  .hqt-clients-marquee-v117{
    width:100%!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  .hqt-clients-track-v114,
  .hqt-clients-track-v117{
    width:max-content!important;
    max-width:none!important;
    gap:14px!important;
  }
  .hqt-client-card-v117{
    width:286px!important;
    max-width:calc(100vw - 38px)!important;
    min-width:286px!important;
    flex:0 0 286px!important;
    min-height:210px!important;
    grid-template-rows:120px auto!important;
    padding:14px!important;
    border-radius:24px!important;
  }
  .hqt-client-logo-stage-v117{height:120px!important;border-radius:18px!important}
  .hqt-client-copy-v117 strong{font-size:17px!important;white-space:normal!important}
  .hqt-client-copy-v117 span{max-width:205px!important}

  /* Botões e textos */
  .hero-actions,
  .hqt-institutional-copy-actions-v109,
  .hqt-final-cta-actions-v109,
  .product-card-actions,
  .form-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .primary-btn,.soft-btn,.btn,.card-link{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* Rodapé */
  .footer-grid{padding:20px!important}
  .footer-brand,.footer-col{width:100%!important;text-align:center!important;align-items:center!important}
  .footer-brand p{max-width:100%!important;text-align:center!important}
  .social-row-v53{justify-content:center!important}
  .footer-bottom-line-v113{padding-left:12px!important;padding-right:12px!important}

  /* Formulários e tabelas */
  input,select,textarea,button{max-width:100%!important}
  .admin-product-row,.payment-row-card,.site-client-item-v117,.site-client-form-v117,.site-client-edit-form-v117{grid-template-columns:1fr!important}
  .admin-product-actions{justify-content:flex-start!important}
}

@media (max-width: 420px){
  .container,.narrow-admin-container{width:calc(100% - 18px)!important}
  .site-header .nav-shell{width:calc(100% - 14px)!important;max-width:calc(100vw - 14px)!important}
  .site-header .nav-menu{left:8px!important;right:8px!important;max-width:calc(100vw - 16px)!important}
  .hqt-client-card-v117{width:268px!important;min-width:268px!important;flex-basis:268px!important;max-width:calc(100vw - 28px)!important}
  .product-card-copy h3,.product-card h3,.hqt-service-card-v109 h3{font-size:27px!important}
  .hqt-institutional-copy-v109 h1,.page-hero-grid h1{font-size:34px!important;line-height:1.04!important}
}
