/*
  e-Reobot - Ajustes mobile compartilhados
  Objetivo: melhorar leitura, encaixe de grids, carrossel, cards e imagens em telas menores
  sem alterar conteúdo, funções ou layout desktop.
*/

@media (max-width: 1120px){
  html, body{max-width:100%;overflow-x:hidden;}

  .container{width:min(calc(100% - 28px), var(--max));}

  .hero-title,
  .hero-title-typed,
  .page-title,
  .section-head h2,
  .section-head p,
  .cta-band h3,
  #controle .section-head h2,
  #controle .section-head p,
  #solucoes .section-head h2,
  #solucoes .section-head p,
  .solutions-subtitle{
    white-space:normal !important;
    overflow-wrap:break-word;
  }

  .grid-3,
  .quick-grid,
  .risk-grid,
  .benefit-grid,
  .stats-band,
  .testimonial-grid,
  .testimonials-grid,
  .about-story-grid,
  .about-video-grid,
  .values-grid,
  .content-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .numbers{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .problem-layout,
  .solution-grid,
  .cta-band-layout,
  .contact-grid,
  .form-grid,
  .policy-layout,
  .quote-card-layout{
    grid-template-columns:1fr !important;
  }

  .hero-grid{
    grid-template-columns:1fr !important;
    align-items:center;
  }

  .hero-copy,
  .hero-copy-top,
  .hero-bullets,
  .hero .lead,
  .page-subtitle{
    max-width:100% !important;
  }

  .hero-visual,
  .visual-wrap{
    min-height:auto !important;
  }

  .hero-card,
  .hero-card-inner,
  .hero-card-inner img,
  .hero-card img{
    max-width:100%;
  }

  .control-carousel{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .stack-card{
    min-height:auto !important;
  }

  .stack-card .panel-grid{
    grid-template-columns:1fr !important;
  }

  .stack-card .panel-copy h3,
  .stack-card .panel-copy p,
  .stack-card:nth-child(1) .panel-copy p,
  .stack-card:nth-child(2) .panel-copy p,
  .stack-card:nth-child(3) .panel-copy p,
  .stack-card:nth-child(4) .panel-copy p{
    max-width:100% !important;
    white-space:normal !important;
  }

  .stack-card .panel-list{
    max-width:100% !important;
  }

  .cta-band .panel-visual-image{
    justify-self:center !important;
    width:min(100%, 380px) !important;
  }

  .footer-wrap,
  .footer-grid{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 840px){
  .section{padding:64px 0 !important;}
  .container{width:min(calc(100% - 24px), var(--max));}

  .nav{min-height:68px;gap:14px;}
  .brand small{display:none;}
  .brand-badge,.brand-mark{flex:0 0 auto;}

  .nav.mobile-open{
    align-items:flex-start !important;
    flex-wrap:wrap !important;
    padding:14px 0 !important;
  }

  .nav.mobile-open .nav-links{
    display:grid !important;
    width:100% !important;
    gap:12px !important;
    padding-top:8px !important;
  }

  .nav.mobile-open .nav-cta,
  .nav.mobile-open .nav-actions{
    width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
  }

  .nav.mobile-open .nav-cta .btn,
  .nav.mobile-open .nav-actions .btn{
    flex:1 1 100% !important;
  }

  .nav-dropdown,
  .nav.mobile-open .nav-dropdown{
    width:100% !important;
  }

  .nav-dropdown-toggle,
  .nav.mobile-open .nav-dropdown-toggle{
    width:100% !important;
    justify-content:space-between !important;
  }

  .nav.mobile-open .nav-dropdown-menu{
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    margin-top:8px !important;
  }

  .hero{
    padding-top:34px !important;
    padding-bottom:42px !important;
  }

  .hero-grid,
  .grid-3,
  .quick-grid,
  .risk-grid,
  .benefit-grid,
  .numbers,
  .stats-band,
  .logo-grid,
  .feature-grid,
  .testimonial-grid,
  .testimonials-grid,
  .about-grid,
  .method-grid,
  .policy-grid,
  .about-story-grid,
  .about-video-grid,
  .values-grid,
  .content-grid,
  .footer-grid,
  .footer-wrap{
    grid-template-columns:1fr !important;
  }

  .hero-title,
  .hero-title-typed,
  .hero h1,
  .page-title{
    font-size:clamp(2rem, 10vw, 3.25rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
    max-width:100% !important;
    text-align:left;
  }

  .hero-title-typed{
    display:block !important;
  }

  .hero-title-dynamic-wrap{
    display:inline-flex !important;
    min-width:0 !important;
    white-space:normal !important;
  }

  .hero-copy .lead,
  .hero .lead,
  .page-subtitle,
  .section-head p{
    white-space:normal !important;
    font-size:1rem !important;
    line-height:1.65 !important;
  }

  .section-head{
    margin-bottom:26px !important;
  }

  .section-head h2,
  .cta-band h3,
  .solutions-subtitle{
    font-size:clamp(1.75rem, 8vw, 2.45rem) !important;
    line-height:1.12 !important;
  }

  .hero-logo-highlight img{
    width:min(100%, 560px) !important;
    max-height:160px !important;
  }

  .hero-actions,
  .page-cta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .btn{
    width:100%;
    min-height:50px;
    padding-left:16px;
    padding-right:16px;
    text-align:center;
  }

  .hero-bullets{
    margin-top:20px !important;
  }

  .hero-bullet-item{
    gap:12px !important;
  }

  .hero-bullet-content strong{
    font-size:1.04rem !important;
  }

  .hero-bullet-content span{
    font-size:.98rem !important;
  }

  .hero-card,
  .dashboard,
  .panel-visual-image,
  .panel-card-visual{
    width:100% !important;
  }

  .hero-card img,
  .dashboard img,
  .panel-visual-image img,
  .panel-card-visual img{
    max-width:100%;
  }

  .problem-copy,
  .solution-copy,
  .cta-copy{
    text-align:left !important;
  }

  .cta-band{
    padding:28px 20px !important;
    border-radius:24px !important;
  }

  .cta-band p,
  .service-card p,
  .testimonial-text,
  .policy-article p,
  .policy-article li,
  .info-card p,
  .quote-card-copy p{
    font-size:.96rem !important;
    line-height:1.68 !important;
  }

  .stat,
  .service-card,
  .quick-card,
  .benefit-card,
  .testimonial-card,
  .value-card,
  .info-card,
  .policy-article,
  .contact-card,
  .form-card{
    border-radius:22px !important;
  }

  .testimonial-card{
    min-height:auto !important;
    grid-template-rows:auto auto auto !important;
  }

  .testimonial-logo{
    min-height:96px;
  }

  .control-carousel-window{
    border-radius:28px !important;
  }

  .stack-card{
    padding:24px 18px !important;
    border-radius:28px !important;
  }

  .stack-card .panel-copy h3{
    font-size:clamp(1.9rem, 9vw, 2.65rem) !important;
    line-height:1.02 !important;
  }

  .stack-card .panel-list{
    gap:10px !important;
  }

  .stack-card .panel-list div{
    min-height:auto !important;
    padding:13px 14px !important;
    line-height:1.45 !important;
  }

  .stack-card .panel-visual-image,
  .stack-card .panel-card-visual{
    min-height:240px !important;
  }

  .stack-card .panel-visual-image img,
  .stack-card .panel-card-visual img,
  .stack-card .panel-card-visual picture{
    min-height:240px !important;
  }

  .carousel-controls{
    margin-top:16px !important;
  }

  .logo-carousel-wrap{
    mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent) !important;
  }

  .logo-card{
    min-width:150px !important;
    height:96px !important;
    padding:12px 16px !important;
  }

  .policy-article{
    padding:24px 18px !important;
  }

  .policy-article h2{
    font-size:clamp(1.55rem, 7vw, 2rem) !important;
  }

  .policy-article h3{
    font-size:1.08rem !important;
  }

  .field.full{grid-column:auto !important;}
  .field input,.field select,.field textarea{font-size:16px !important;}

  .faq-question{
    padding:18px 16px !important;
    gap:14px !important;
  }

  .faq-answer,
  .faq-item.active .faq-answer{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .faq-chatbot{right:12px !important;bottom:84px !important;}
  .faq-chatbot-toggle{width:58px !important;height:58px !important;}
  .faq-chatbot-box{
    left:10px !important;
    right:10px !important;
    bottom:74px !important;
    width:auto !important;
    height:min(590px, calc(100vh - 184px)) !important;
  }

  .footer-wrap,
  .footer-bottom{
    text-align:center !important;
    justify-items:center !important;
    justify-content:center !important;
  }

  .footer-links,
  .footer-social{
    justify-content:center !important;
  }

  .sticky-mobile{
    display:flex !important;
  }

  .circuitos-fixed-bg::before,
  .hero,
  .benefits,
  .cta-box,
  .factory-billboard-section,
  .stats-billboard-section{
    background-attachment:scroll !important;
  }
}

@media (max-width: 480px){
  .container{width:min(calc(100% - 20px), var(--max));}
  .section{padding:54px 0 !important;}
  .hero{padding-top:28px !important;}
  .brand{gap:9px;font-size:.94rem;}
  .brand-badge,.brand-mark{width:38px !important;height:38px !important;border-radius:13px !important;}
  .section-head h2,.cta-band h3,.solutions-subtitle{font-size:clamp(1.55rem, 9vw, 2.1rem) !important;}
  .hero-title,.hero-title-typed,.hero h1,.page-title{font-size:clamp(1.9rem, 11vw, 2.85rem) !important;}
  .quick-card,.service-card,.benefit-card,.testimonial-card,.stat{padding:20px 16px !important;}
  .number{padding:18px 14px !important;}
  .number strong{font-size:1.45rem !important;}
  .logo-card{min-width:132px !important;height:88px !important;}
}
