[hidden]:not([hidden="until-found"]){display:none!important}
:root{--focus-ring:#63ddff;--tap-target:44px}
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
body{max-width:100%;overflow-wrap:anywhere}
.page,.side{min-width:0}.side{max-width:100vw}.side>.box{width:min(440px,100%)!important}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,select,textarea{min-height:var(--tap-target)}
button,[role="button"]{min-width:var(--tap-target)}
button,[role="button"],a.btn,.primaryBtn,.ghostBtn,.loginBtn,.iconBtn,.mobileMenuBtn,.cartFab,.cartClose{touch-action:manipulation}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:3px!important;box-shadow:0 0 0 5px rgba(3,10,20,.9)!important}
.skipLink{position:fixed;left:12px;top:12px;z-index:20000;padding:12px 16px;border-radius:8px;background:#fff;color:#07101d;font-weight:900;transform:translateY(-160%);transition:transform .16s}
.skipLink:focus{transform:none}
.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
[aria-invalid="true"]{border-color:#ff7f8a!important;box-shadow:0 0 0 2px rgba(255,127,138,.2)!important}
.fieldError{display:block;margin-top:5px;color:#ffb0b7;font-size:.78rem}
.scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.scroll table{min-width:680px}
.modalBack{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overscroll-behavior:contain}
.cartDrawer{padding-bottom:env(safe-area-inset-bottom)}
.floatBot{bottom:max(18px,env(safe-area-inset-bottom))}
.cartFab{bottom:max(94px,calc(env(safe-area-inset-bottom) + 94px))}
.productDetailBackdrop{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important}
.productDetailModal{max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain}
.mobileSidebarToggle{display:none;flex:0 0 44px;width:44px;height:44px;border:1px solid #25425e;border-radius:9px;background:#07131f;color:#fff;font-size:1.2rem}
.sidebarScrim{display:none}
@media(max-width:820px){
  .app{display:block!important;min-width:0}
  .sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(290px,86vw)!important;height:100dvh!important;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom));z-index:1000!important}
  .sidebar.a11y-open{transform:none}
  .sidebar.a11y-open .brand div,.sidebar.a11y-open .menuTitle,.sidebar.a11y-open .nav button{font-size:inherit!important}
  .sidebar.a11y-open .nav button{justify-content:flex-start!important}
  .sidebarScrim{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.62)}
  .sidebarScrim.open{display:block}
  .mobileSidebarToggle{display:grid;place-items:center}
  .topbar{min-height:68px;height:auto!important;padding:10px 12px!important;gap:10px;align-items:center}
  .topbar .title{min-width:0;flex:1}.topbar .title h1{font-size:1.05rem;white-space:normal}.topbar .title p{display:none}
  .topActions{gap:6px;flex:0 0 auto}.profileBtn{min-width:44px!important;width:44px;padding:6px!important}.profileBtn>span{display:none}
  .content{padding:12px!important;max-width:100vw}
  .cardHead{height:auto!important;min-height:50px;align-items:flex-start!important;gap:10px;flex-wrap:wrap;padding-block:10px!important}
  .cardHead>.toolbar{width:100%}
  .grid2,.grid3,.formGrid{grid-template-columns:minmax(0,1fr)!important}
  .toolbar{align-items:stretch}.toolbar input,.toolbar select{min-width:0!important;width:100%}
  .kanban{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding-bottom:8px}
  .kanCol{flex:0 0 min(82vw,280px);scroll-snap-align:start}
  .modalFoot{position:sticky;bottom:0;background:#07131f;padding-top:10px;flex-wrap:wrap}
  .modalFoot .btn{min-width:120px;flex:1}
  input,select,textarea{font-size:16px!important}
}
@media(max-width:760px){
  .cartDrawer{width:100vw!important;max-width:100vw}
  .cartHead,.cartItems,.cartCheckout{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
  .productDetailModal{margin:0 auto!important;max-width:100%;border-radius:16px!important}
  .productDetailClose{width:44px!important;height:44px!important}
  .headerInner{gap:8px!important}.headerActions{gap:5px!important}
  .mobileMenu a{min-height:44px;display:flex;align-items:center}
  .category{min-height:44px}
}
@media(max-width:480px){
  .shell{width:min(100% - 24px,1380px)!important}
  .heroButtons>*{width:100%;justify-content:center;text-align:center}
  .benefits{grid-template-columns:1fr!important}
  .storeGrid{margin-inline:0}
  .productCard,.storeCard{min-width:min(82vw,280px)!important}
  .serviceGrid,.trust,.footerGrid{grid-template-columns:1fr!important}
  .quoteIntro{padding-right:12px!important;min-height:0!important}
  .topActions>.iconBtn{display:none}
  .kpis{grid-template-columns:1fr!important}
  .btn{white-space:normal;text-align:center}
}
@media(max-height:520px) and (orientation:landscape){
  .modal,.productDetailModal{max-height:calc(100dvh - 12px)}
  .heroVisual{min-height:280px!important}.heroVisual img{height:280px!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(forced-colors:active){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid Highlight!important}}

/* Drawers must remain usable with a short viewport or the on-screen keyboard. */
.cartDrawer{overflow-y:auto;overscroll-behavior:contain}
.cartDrawer:not(.open){visibility:hidden}
.cartDrawer.open{visibility:visible}
.cartHead,.cartCheckout{flex-shrink:0}
.cartItems{flex:1 0 auto;max-height:40dvh;min-height:60px}
.cartItem>div{min-width:0}.cartQty{flex-wrap:nowrap}
.modalBack{z-index:1100}

/* O carrinho precisa ficar acima do cabeçalho fixo em todas as larguras. */
.cartBackdrop{z-index:1200}
.cartDrawer{z-index:1201;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
.cartHead{flex-shrink:0}
.cartItems{flex:1 0 auto}
.cartCheckout{flex-shrink:0}
.cartClose{min-width:44px;min-height:44px}
