/* App "Vender caro": avisos, barra do app e páginas /instalar. Sem bloquear zoom ou orientação. */
.pwa-toast{position:fixed;left:50%;transform:translateX(-50%);z-index:90;width:min(calc(100% - 24px),520px);background:#fff;color:#1d1d1f;border:1px solid #d2d2d7;border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.12);padding:12px 16px;font-size:15px;line-height:1.4;letter-spacing:-.01em;animation:pwa-in .25s ease-out}
.pwa-toast.pwa-reduced{animation:none}
.pwa-toast-offline{top:max(12px,env(safe-area-inset-top))}
.pwa-toast-update{bottom:max(12px,env(safe-area-inset-bottom))}
html.pwa-has-tabbar:not(.pwa-keyboard) .pwa-toast-update{bottom:calc(var(--pwa-cap-h,0px) + var(--pwa-cap-gap,0px) + 12px)}
.pwa-toast p{margin:0}.pwa-update-msg:empty{display:none}.pwa-update-msg{margin-top:6px!important;color:#4b2b1d;font-weight:600}
.pwa-toast-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pwa-btn{min-height:44px;min-width:44px;padding:0 18px;border-radius:999px;border:1px solid #d2d2d7;background:#fff;color:#1d1d1f;font-weight:600}
.pwa-btn-primary{background:#4b2b1d;border-color:#4b2b1d;color:#fff}.pwa-btn-primary:hover{background:#68422e}
.pwa-btn:focus-visible{outline:3px solid #4b2b1d;outline-offset:3px}
@keyframes pwa-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.pwa-toast{animation:none}}
.pwa-form-offline{margin:10px 0 0;color:#8a1f11;font-size:15px;font-weight:600}

/* Link discreto: some dentro do app instalado. */
@media (display-mode:standalone){.pwa-install-link,.pwa-install-item{display:none!important}}
.pwa-standalone .pwa-install-link,.pwa-standalone .pwa-install-item{display:none!important}

/* Barra inferior: cápsula flutuante de vidro, só no app instalado (celular, páginas públicas).
 * Altura 68px com padding; vão inferior max(10px, safe-area) fica FORA do vidro. Espaço reservado uma vez. */
.pwa-tabbar{display:none}
@media (max-width:1023px){
 html.pwa-has-tabbar{--pwa-cap-h:68px;--pwa-cap-gap:max(10px,env(safe-area-inset-bottom));--pwa-tabbar-h:calc(var(--pwa-cap-h) + var(--pwa-cap-gap) + 16px);scroll-padding-bottom:var(--pwa-tabbar-h)}
 html.pwa-has-tabbar body{padding-bottom:var(--pwa-tabbar-h)}
 html.pwa-has-tabbar .pwa-tabbar{box-sizing:border-box;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;position:fixed;z-index:80;
  left:max(16px,calc(env(safe-area-inset-left) + 12px));right:max(16px,calc(env(safe-area-inset-right) + 12px));
  bottom:var(--pwa-cap-gap);margin:0 auto;max-width:420px;height:var(--pwa-cap-h);padding:6px;border-radius:34px;
  background:rgba(250,248,246,.97);border:1px solid rgba(255,255,255,.7);
  box-shadow:0 0 0 .5px rgba(60,40,30,.12),inset 0 1px 0 rgba(255,255,255,.85),0 10px 30px rgba(40,24,16,.16),0 2px 6px rgba(40,24,16,.08);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease,visibility 0s linear 0s}
 @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  html.pwa-has-tabbar .pwa-tabbar{background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(22px) saturate(190%);backdrop-filter:blur(22px) saturate(190%)}
 }
 html.pwa-keyboard .pwa-tabbar{transform:translateY(calc(100% + 40px));opacity:0;visibility:hidden;transition:transform .28s ease,opacity .2s ease,visibility 0s linear .28s}
 html.pwa-keyboard body{padding-bottom:0}
 html.pwa-has-tabbar.has-nav-sheet .nav-sheet[open]~.pwa-tabbar{display:none}
}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){
 html.pwa-has-tabbar .pwa-tabbar{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-color:#8e8e93}
}
@media (prefers-reduced-motion:reduce){.pwa-tabbar,.pwa-tabbar a{transition:none!important}}
.pwa-tabbar a{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;min-height:44px;height:100%;border-radius:28px;color:#3a3a3c;font:600 11.5px/1.1 -apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Arial,sans-serif;letter-spacing:-.01em;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,transform .12s ease}
.pwa-tabbar a:active{transform:scale(.96);background:rgba(75,43,29,.07)}
.pwa-tabbar a[aria-current="page"]{color:#4b2b1d;background:rgba(75,43,29,.12);box-shadow:inset 0 0 0 .5px rgba(75,43,29,.14)}
.pwa-tabbar svg{width:23px;height:23px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.pwa-tabbar a[aria-current="page"] svg{stroke-width:2}
.pwa-tabbar a:focus-visible{outline:2px solid #4b2b1d;outline-offset:-2px}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.pwa-tabbar a{color:#1d1d1f}.pwa-tabbar a[aria-current="page"]{background:#efe5de}}

/* Página /instalar */
.pwa-page{min-height:100vh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}
.pwa-page-head{padding:20px var(--gutter)}.pwa-page-head .brand-logo{width:190px;height:auto}
.pwa-install{flex:1;width:min(100% - 48px,620px);margin:0 auto;padding:40px 0 64px}
.pwa-install-icon{width:96px;height:96px;border-radius:22px;box-shadow:0 8px 24px rgba(75,43,29,.18);margin-bottom:24px}
.pwa-eyebrow{color:#4b2b1d;font-weight:600;font-size:15px;margin-bottom:8px}
.pwa-install h1{font-size:clamp(36px,9vw,56px);margin-bottom:16px}
.pwa-lead{color:#6e6e73;font-size:19px}
.pwa-benefits{list-style:none;padding:0;margin:32px 0;border-top:1px solid #d2d2d7}
.pwa-benefits li{padding:16px 0;border-bottom:1px solid #d2d2d7;color:#6e6e73}.pwa-benefits strong{color:#1d1d1f;display:block}
.pwa-action{margin:8px 0 24px}.pwa-action .button{min-height:48px}
.pwa-status{margin-top:12px;color:#4b2b1d;font-weight:600}.pwa-status:empty{display:none}
.pwa-guide,.pwa-state{background:#f5f5f7;border-radius:20px;padding:24px;margin:16px 0}
.pwa-guide h2,.pwa-state h2{font-size:24px;margin-bottom:12px}.pwa-guide ol,.pwa-guide ul{margin:0;padding-left:20px}.pwa-guide li+li{margin-top:8px}
.pwa-state .button{margin-top:16px;min-height:48px}
.pwa-note{margin:16px 0;color:#6e6e73}.pwa-back{margin-top:32px}
.pwa-page-foot{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px var(--gutter) max(24px,env(safe-area-inset-bottom));border-top:1px solid #d2d2d7;color:#6e6e73;font-size:14px}
@media (max-width:420px){.pwa-page-head .brand-logo{width:160px}}

.pwa-page-foot .legal-note{flex-basis:100%;font-size:12px;line-height:1.6;letter-spacing:0}
