/* Brasil Emprega 7.7.67 — refinamento mobile-first de ações, formulários e componentes */
:root{--be-mobile-touch:46px;--be-mobile-safe:16px}
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
button,a,input,select,textarea{box-sizing:border-box}

/* Estrutura segura para telas estreitas: nenhum bloco público pode ampliar o viewport. */
@media(max-width:1079px){
  main,section,article,aside,form,fieldset,.container,.form-wrap,.form-card,.card,.panel,.content,.be-internal-hero,.be-internal-hero__inner{min-width:0;max-width:100%}
  .home-page .be-brand-hero.be-exact-banner{width:100%!important;max-width:100vw!important;min-width:0!important;flex:none!important}
  .home-page .be-brand-hero.be-exact-banner>img{max-width:100vw!important}
  body.be-mobile-menu-open{overflow:hidden!important;touch-action:none}
  .be-premium-header .be-header-main,.be-premium-header .be-nav{position:relative!important}
  .be-premium-header .be-menu-toggle{touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;min-width:48px!important;min-height:48px!important}
  .be-premium-header .be-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .be-premium-header .be-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
  .be-premium-header .be-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
  .be-premium-header .be-menu.is-open{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .be-premium-header .be-nav-main,.be-premium-header .be-nav-trigger,.be-premium-header .be-login,.be-premium-header .be-cta{min-height:var(--be-mobile-touch)!important}
  .be-premium-header .be-nav-panel a{min-height:var(--be-mobile-touch)!important}
  :where(button,.btn,a.btn,input[type="submit"],input[type="button"]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
}

/* Rodapé: contato, e-mail e barra inferior centralizados em celular e tablet vertical. */
@media(max-width:820px){
  .be-site-footer .be-footer-main{grid-template-columns:1fr!important;text-align:center!important}
  .be-site-footer .be-footer-col{align-items:center!important;text-align:center!important}
  .be-site-footer .be-footer-contact-col{grid-column:1/-1!important;align-items:center!important;text-align:center!important}
  .be-site-footer .be-footer-contact-col h4,.be-site-footer .be-contact-label,.be-site-footer .be-contact-email{width:100%!important;text-align:center!important;align-self:center!important;overflow-wrap:anywhere!important}
  .be-site-footer a.be-email-btn,.be-site-footer a.be-email-btn:link,.be-site-footer a.be-email-btn:visited{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;justify-self:center!important;margin:12px auto 0!important;width:min(220px,100%)!important;min-width:0!important;min-height:48px!important;padding:11px 20px!important;text-align:center!important}
  .be-site-footer .be-footer-bottom-inner{justify-content:center!important;text-align:center!important}
  .be-site-footer .be-footer-bottom-actions{width:100%!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important}
}

/* Formulários: campos legíveis no iOS e ações previsíveis. */
@media(max-width:820px){
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important;max-width:100%!important;min-width:0!important}
  input[type="date"]{appearance:auto!important;-webkit-appearance:auto!important}
  .form-card,.be-register-card,.company-register-card,.company-login-card,.hub-login-card{width:100%!important;max-width:100%!important;margin-inline:auto!important}

  /* Cadastro do candidato: um único CTA fica rigorosamente centralizado. */
  .be-register-card .be-form-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;justify-content:center!important;align-items:center!important;margin-inline:auto!important}
  .be-register-card .be-form-actions.is-single-action{grid-template-columns:minmax(0,230px)!important;justify-content:center!important}
  .be-register-card .be-form-actions button{width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;height:auto!important;margin:0!important;padding:10px 14px!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.2!important;white-space:normal!important}
  .be-register-card .be-form-actions button[hidden]{display:none!important}
  .be-register-card .be-draft-note{text-align:center!important;margin-inline:auto!important;max-width:100%!important}

  /* Cadastro empresarial e acessos: centralização equivalente. */
  .register-actions,.company-form-actions,.company-reset-actions,.hub-form-actions,.confirm-actions{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important}
  .register-actions>*:only-child,.company-form-actions>*:only-child,.company-reset-actions>*:only-child,.hub-form-actions>*:only-child,.confirm-actions>*:only-child{width:min(260px,100%)!important;margin-inline:auto!important}
  .register-actions>button,.company-form-actions>.company-submit,.company-reset-actions>button,.hub-form-actions>button,.confirm-actions>a,.confirm-actions>button{min-height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important}
  .register-actions>[hidden],.company-form-actions>[hidden],.company-reset-actions>[hidden],.hub-form-actions>[hidden],.confirm-actions>[hidden]{display:none!important}

  /* Contato, guias e heróis internos. */
  .contact-card .send{display:flex!important;align-items:center!important;justify-content:center!important;width:min(230px,100%)!important;min-height:48px!important;margin:4px auto 0!important;text-align:center!important}
  .guide-section>.primary-link{display:flex!important;align-items:center!important;justify-content:center!important;width:min(250px,100%)!important;min-height:48px!important;margin:20px auto 0!important;text-align:center!important}
  .be-internal-hero__actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:11px!important}
  .be-internal-hero__actions .be-internal-hero__primary,.be-internal-hero__actions .be-internal-hero__secondary{width:100%!important;max-width:none!important;min-height:48px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important}

  /* Grupos genéricos: não deixam um CTA isolado preso à esquerda. */
  :where(.actions,.form-actions,.card-actions,.panel-actions,.modal-actions,.dialog-actions,.vacancy-actions,.hero-actions,.be-state-actions){max-width:100%!important;flex-wrap:wrap!important}
  :where(.actions,.form-actions,.card-actions,.panel-actions,.modal-actions,.dialog-actions,.vacancy-actions,.hero-actions,.be-state-actions)>:only-child{margin-inline:auto!important}

  /* Abas extensas continuam utilizáveis por rolagem horizontal, sem esmagar rótulos. */
  :where([role="tablist"],.tabs,.tab-list,.quick-filters,.be-career-tabs){max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin}
  :where([role="tablist"],.tabs,.tab-list,.quick-filters,.be-career-tabs)>*{flex:0 0 auto!important}

  /* Modais e painéis flutuantes respeitam a área útil do celular. */
  :where(.modal,.dialog,.drawer,.be-state-dialog,.be-register-choice-card,.favorite-login-card,.share-menu-card){width:calc(100% - 24px)!important;max-width:560px!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important;margin:auto!important}
}

/* Telas muito estreitas: margens seguras e botões confortáveis. */
@media(max-width:430px){
  .be-premium-header .be-header-top-inner,.be-premium-header .be-nav{width:calc(100% - 20px)!important}
  .be-premium-header .be-menu{left:0!important;right:0!important;width:100%!important;max-width:100%!important}
  .be-site-footer .be-footer-main,.be-site-footer .be-footer-bottom-inner{width:calc(100% - 28px)!important}
  .be-site-footer a.be-email-btn{width:min(220px,100%)!important}
  .be-register-card .be-form-actions{grid-template-columns:1fr!important}
  .be-register-card .be-form-actions button{width:min(230px,100%)!important;justify-self:center!important}
  .home-page .be-register-wrap{width:calc(100% - 24px)!important;margin-inline:auto!important}
  .home-page .be-register-card{padding-left:16px!important;padding-right:16px!important}
}

/* Compactação adicional em 360 px sem reduzir a área de toque. */
@media(max-width:370px){
  .be-premium-header .be-header-top-inner,.be-premium-header .be-nav{width:calc(100% - 14px)!important}
  .be-register-card .be-form-actions button{font-size:.9rem!important}
  .be-site-footer .be-footer-main,.be-site-footer .be-footer-bottom-inner{width:calc(100% - 20px)!important}
}

/* Tablet em orientação paisagem: CTA único do cadastro permanece centralizado. */
@media(max-width:1024px){
  .be-register-card .be-form-actions.is-single-action{display:grid!important;grid-template-columns:minmax(0,230px)!important;justify-content:center!important;align-items:center!important;width:100%!important}
  .be-register-card .be-form-actions.is-single-action button{width:100%!important;min-width:0!important;min-height:46px!important;margin:0!important;justify-self:center!important;text-align:center!important}
}


/* Assistente Léo compacto no celular: preserva conteúdo e não cobre CTAs. */
@media(max-width:520px){
  body:not(.admin-page) #leoFab{right:8px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important;padding:0!important;border-radius:50%!important;overflow:hidden!important}
  body:not(.admin-page) #leoFab:before{left:2px!important;bottom:0!important;width:52px!important;height:68px!important;background-size:contain!important}
  body:not(.admin-page) #leoFab .leoCharacter{position:relative!important;left:auto!important;bottom:auto!important;width:50px!important;height:66px!important;flex:0 0 50px!important;margin:-8px auto -4px!important}
  body:not(.admin-page) #leoFab .leoOfficialArtwork{width:56px!important;max-width:56px!important;height:auto!important}
  body:not(.admin-page) #leoFab span:not(.leoCharacter){display:none!important}
}
