
/* =========================================================
   CORREÇÃO FINAL GLOBAL — TODAS AS PÁGINAS
   Footer, CTA, linhas bugadas e responsividade.
   ========================================================= */
html,
body{
  overflow-x:hidden!important;
}

main{
  width:100%!important;
  display:block!important;
  overflow:visible!important;
}

/* CTA limpo em qualquer página */
.ms-cta{
  width:min(1180px,calc(100% - 44px))!important;
  max-width:1180px!important;
  margin:84px auto 76px!important;
  padding:46px 34px!important;
  display:block!important;
  text-align:center!important;
  border-radius:32px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.070),transparent 44%),
    linear-gradient(180deg,rgba(255,255,255,.064),rgba(255,255,255,.016))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.68), inset 0 1px 0 rgba(255,255,255,.055)!important;
  position:relative!important;
  overflow:hidden!important;
  clear:both!important;
}

.ms-cta::before,
.ms-cta::after,
.ms-cta .ms-kicker::before,
.ms-cta .ms-kicker::after,
.ms-cta .kicker::before,
.ms-cta .kicker::after,
.ms-cta .profile-kicker::before,
.ms-cta .profile-kicker::after{
  display:none!important;
  content:none!important;
}

.ms-cta .ms-kicker,
.ms-cta .kicker,
.ms-cta .profile-kicker{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  gap:0!important;
  margin:0 auto 14px!important;
  text-align:center!important;
  color:rgba(255,255,255,.62)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-size:10px!important;
  font-weight:950!important;
}

.ms-cta .ms-title,
.ms-cta h2{
  max-width:860px!important;
  margin:0 auto 14px!important;
  text-align:center!important;
}

.ms-cta .ms-lead,
.ms-cta p{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
}

.ms-cta .ms-actions,
.ms-cta .actions,
.ms-cta .btn-row{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:24px auto 0!important;
}

/* Footer único e igual em todas as páginas */
.ms-footer-global,
.ms-footer-clean,
.ms-footer{
  clear:both!important;
  width:100%!important;
  margin:0!important;
  padding:28px 0!important;
  background:rgba(0,0,0,.98)!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
  position:relative!important;
  z-index:2!important;
}

.ms-footer-global::before,
.ms-footer-global::after,
.ms-footer-clean::before,
.ms-footer-clean::after,
.ms-footer::before,
.ms-footer::after{
  display:none!important;
  content:none!important;
}

.ms-footer-global .ms-footer-inner,
.ms-footer-clean .ms-footer-inner,
.ms-footer-inner,
.ms-footer-clean-inner{
  width:min(1180px,calc(100% - 44px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
}

.ms-footer-logo,
.ms-footer-copy strong{
  display:none!important;
}

.ms-footer-copy{
  margin:0!important;
  padding:0!important;
  display:block!important;
}

.ms-footer-copy span,
.ms-footer-copy{
  color:rgba(255,255,255,.62)!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.4!important;
  white-space:normal!important;
  letter-spacing:0!important;
}

.ms-footer-right{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}

.ms-footer-social{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}

.ms-footer-admin-link{
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.035)!important;
  color:rgba(255,255,255,.86)!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:850!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}

.ms-social-link{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.035)!important;
  color:rgba(255,255,255,.86)!important;
  text-decoration:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.ms-social-icon,
.ms-social-icon svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
  fill:currentColor!important;
}

/* Remove linhas soltas/duplicadas próximas do rodapé */
main + .ms-footer,
main + footer,
.ms-cta + .ms-footer,
.ms-cta + footer,
section + footer{
  border-top:1px solid rgba(255,255,255,.10)!important;
}

/* Mantém preto/branco em botões e cards */
.ms-card,
.ms-premium-panel,
.ms-service-card,
.ms-cta,
.panel,
.side,
.side-item,
.form-card,
.table-card,
.profile-card,
.profile-hero,
.profile-hero-card,
.auth-card,
.login-card,
.login-panel,
.register-card,
.cadastro-card,
.card,
.ticket-card,
.reports-card,
.driver-card,
.info-item,
.history-cta-card,
.ms-plan-card,
.ms-side-box{
  border-color:rgba(255,255,255,.12)!important;
}

.ms-btn,
.btn,
button,
input[type="submit"],
.profile-btn,
.login-btn{
  border-color:rgba(255,255,255,.24)!important;
  color:#fff!important;
}

@media(max-width:760px){
  .ms-cta{
    width:calc(100% - 18px)!important;
    max-width:560px!important;
    margin:58px auto 52px!important;
    padding:24px 18px!important;
    border-radius:22px!important;
  }

  .ms-cta .ms-actions,
  .ms-cta .actions,
  .ms-cta .btn-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .ms-cta .ms-btn,
  .ms-cta .btn,
  .ms-cta button{
    width:100%!important;
  }

  .ms-footer-global .ms-footer-inner,
  .ms-footer-clean .ms-footer-inner,
  .ms-footer-inner,
  .ms-footer-clean-inner{
    width:calc(100% - 18px)!important;
    max-width:560px!important;
    flex-direction:column!important;
    justify-content:center!important;
    text-align:center!important;
    gap:18px!important;
  }

  .ms-footer-right{
    width:100%!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:12px!important;
  }

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

  .ms-footer-admin-link{
    min-width:170px!important;
  }
}

@media(max-width:420px){
  .ms-cta,
  .ms-footer-global .ms-footer-inner,
  .ms-footer-clean .ms-footer-inner,
  .ms-footer-inner,
  .ms-footer-clean-inner{
    width:calc(100% - 14px)!important;
  }
}


/* =========================================================
   Martins Select - otimização final celular e computador
   Mantém o layout sem quebrar em telas pequenas e organiza
   cards, formulários, menus, tabelas e imagens.
   ========================================================= */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
*,*:before,*:after{box-sizing:inherit}
body{min-width:0;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
a,button,input,select,textarea{font:inherit}
input,select,textarea{max-width:100%;min-width:0}
button,a{touch-action:manipulation}

/* Conteúdo principal sempre centralizado no desktop */
main,.page-wrap,.container,.admin-container,.admin-content,.perfil-page-wrap,.site-container,.servicos-wrap,.login-wrap,.cadastro-wrap{max-width:min(100%,1180px);margin-left:auto;margin-right:auto}

/* Tabelas e blocos largos não estouram no celular */
table{max-width:100%;border-collapse:collapse}
.table-responsive,.responsive-table,.admin-table-wrap,.historico-table-wrap,.servicos-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,code{white-space:pre-wrap;word-break:break-word}

/* Botões com área de toque confortável */
.btn,.button,.perfil-btn,.admin-btn,.ms-btn,.login-btn,.cadastro-btn,button[type="submit"]{min-height:44px}

@media (min-width: 769px){
  body{font-size:16px}
  .desktop-center,.admin-clean-inner,.site-header-inner,.menu-inner{max-width:1180px;margin-left:auto;margin-right:auto}
  .admin-clean-nav,.site-nav{align-items:center}
  .grid,.cards,.servicos-grid,.perfil-grid{min-width:0}
}

@media (max-width: 1024px){
  main,.page-wrap,.container,.admin-container,.admin-content,.perfil-page-wrap,.site-container,.servicos-wrap,.login-wrap,.cadastro-wrap{width:100%;padding-left:18px;padding-right:18px}
  .grid,.cards,.servicos-grid,.perfil-grid,.perfil-info-grid{grid-template-columns:1fr!important}
  .admin-clean-inner,.site-header-inner,.menu-inner{width:100%;padding-left:16px!important;padding-right:16px!important}
}

@media (max-width: 768px){
  body{font-size:15px;line-height:1.45}
  main,.page-wrap,.container,.admin-container,.admin-content,.perfil-page-wrap,.site-container,.servicos-wrap,.login-wrap,.cadastro-wrap{padding-left:14px!important;padding-right:14px!important}
  h1{font-size:clamp(28px,8vw,42px)!important;line-height:1.08!important;word-break:break-word}
  h2{font-size:clamp(22px,6vw,30px)!important;line-height:1.15!important}
  h3{font-size:clamp(18px,5vw,24px)!important;line-height:1.2!important}
  p{overflow-wrap:break-word}
  .card,.perfil-card,.admin-card,.service-card,.servico-card,.login-card,.cadastro-card,.form-card{width:100%!important;max-width:100%!important;border-radius:20px!important}
  .hero,.site-hero,.perfil-hero,.admin-hero,.login-hero{display:grid!important;grid-template-columns:1fr!important;text-align:center;justify-items:center;gap:18px!important}
  .perfil-avatar,.avatar,.user-avatar{margin-left:auto;margin-right:auto}
  form{width:100%;max-width:100%}
  input,select,textarea{width:100%!important}
  .btn,.button,.perfil-btn,.admin-btn,.ms-btn,.login-btn,.cadastro-btn,button[type="submit"]{width:100%;justify-content:center;text-align:center}
  .actions,.perfil-actions,.form-actions,.admin-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%}
  .admin-clean-topbar,.site-header,.topbar{position:relative;z-index:20}
  .admin-clean-brand,.site-brand{min-width:0}
  .admin-clean-text,.site-brand-text{min-width:0}
  .admin-clean-text strong,.site-brand-text strong{white-space:normal!important;line-height:1.1}
  .admin-clean-nav,.site-nav{width:100%;max-width:100%;overflow:hidden}
  .admin-clean-nav.open,.admin-clean-nav.is-open,.site-nav.open,.site-nav.is-open{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:12px!important}
  .admin-clean-nav a,.site-nav a{width:100%;text-align:center;min-height:42px;display:flex;align-items:center;justify-content:center}
  table{font-size:13px}
  th,td{padding:10px 8px!important;white-space:nowrap}
  footer{overflow:hidden}
}

@media (max-width: 420px){
  main,.page-wrap,.container,.admin-container,.admin-content,.perfil-page-wrap,.site-container,.servicos-wrap,.login-wrap,.cadastro-wrap{padding-left:10px!important;padding-right:10px!important}
  .card,.perfil-card,.admin-card,.service-card,.servico-card,.login-card,.cadastro-card,.form-card{padding-left:14px!important;padding-right:14px!important}
  .admin-clean-mark,.site-brand-mark{flex:0 0 auto}
  .ms-logo-img{max-width:150px;height:auto}
}
