﻿/* Overlay móvel — mantém identidade, reduz densidade */
@media (max-width: 992px){
  html,body{scroll-behavior:auto}
  body{font-size:clamp(14px,1.6vw+10px,16px);line-height:1.45}
  .container-xxl,.container-xl,.container-lg{max-width:100%;padding:0 12px}
  .hide-mobile{display:none!important}
  .only-mobile{display:block!important}
  .pf-panel,.card,.box{padding:16px;border-radius:12px}
  .btn,.button{min-height:44px;padding:10px 14px}
  input,select,textarea{min-height:44px}
  label{margin-bottom:4px}
  .grid-2,.grid-3,.row-cols-2,.row-cols-3{display:block}
  .grid-2>*, .grid-3>*, .row>[class*="col"]{width:100%!important;max-width:100%!important}

  /* Step nav: rolagem horizontal */
  .step-nav{gap:8px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .step-nav .t{font-size:.9rem}
  .step-nav .dot{width:8px;height:8px}

  /* Collapsibles fechados no modo mínimo */
  .mobile-min .collapsible .collapsible-content{display:none}
  .mobile-min .collapsible.is-open .collapsible-content{display:block}

  /* Tabelas: scroll OU empilhada */
  .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e7edf6;border-radius:12px}
  table.stacked-sm[data-stacked="true"]{display:block}
  table.stacked-sm[data-stacked="true"] thead{display:none}
  table.stacked-sm[data-stacked="true"] tbody,
  table.stacked-sm[data-stacked="true"] tr,
  table.stacked-sm[data-stacked="true"] td{display:block;width:100%}
  table.stacked-sm[data-stacked="true"] td{padding:10px 12px;border-bottom:1px solid #eee}
  table.stacked-sm[data-stacked="true"] td::before{content:attr(data-label);display:block;font-weight:600;opacity:.7;margin-bottom:2px}

  /* Navbar mobile: contraste e usabilidade */
  .navbar-saasje{background:#0f1115; border-bottom:2px solid var(--primary)}
  .navbar-saasje .navbar-brand, .navbar-saasje .nav-link{color:#fff}
  .navbar-saasje .nav-link:hover{opacity:.9}
  .navbar-saasje .nav-link.active{
    background:rgba(255,165,0,.15);
    border-left:3px solid var(--primary);
    border-radius:8px;
  }
  .navbar-saasje .navbar-collapse{background:#0f1115; padding:12px}
  .navbar-saasje .navbar-toggler{border-color:rgba(255,255,255,.35)}
  .navbar-saasje .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.2)}
  .navbar-saasje .dropdown-menu{background:#0f1115; border:1px solid rgba(255,255,255,.08)}
  .navbar-saasje .dropdown-item{color:#fff}
  .navbar-saasje .dropdown-item:hover{background:rgba(255,255,255,.06)}
}

@media (max-width: 576px){
  h1{font-size:1.25rem} h2{font-size:1.1rem} h3{font-size:1rem}
  .btn-lg{padding:12px 14px;font-size:1rem}
}
