.pwa-install-banner{
  position:fixed;
  z-index:1400;
  right:12px;
  bottom:calc(82px + env(safe-area-inset-bottom));
  left:12px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:13px;
  width:min(calc(100% - 24px),520px);
  margin:0 auto;
  padding:15px;
  border:1px solid #dfe3e8;
  border-top:4px solid var(--orange);
  border-radius:18px;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 46px rgba(17,24,39,.25);
  opacity:0;
  transform:translateY(24px);
  transition:opacity .22s ease,transform .22s ease;
  backdrop-filter:blur(14px);
}

.pwa-install-banner.is-visible{
  opacity:1;
  transform:translateY(0);
}

.pwa-install-banner>img{
  width:52px;
  height:52px;
  border-radius:14px;
  box-shadow:0 5px 14px rgba(17,24,39,.14);
}

.pwa-install-copy{
  min-width:0;
}

.pwa-install-copy>strong{
  display:block;
  color:var(--ink);
  font:800 17px/1.25 Manrope,sans-serif;
  letter-spacing:-.025em;
}

.pwa-install-copy>p{
  margin:5px 0 0;
  color:#4b5563;
  font-size:14px;
  font-weight:500;
  line-height:1.45;
  text-align:left;
}

.pwa-install-actions{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:12px;
}

.pwa-install-actions button{
  min-height:44px;
  padding:8px 14px;
  border-radius:11px;
  cursor:pointer;
  font-size:14px;
  font-weight:800;
}

.pwa-install-primary{
  border:2px solid var(--orange);
  background:var(--orange);
  color:var(--ink);
}

.pwa-install-later{
  border:0;
  background:transparent;
  color:#4b5563;
}

.pwa-install-actions button:focus-visible{
  outline:3px solid rgba(245,164,0,.32);
  outline-offset:2px;
}

@media(max-width:380px){
  .pwa-install-banner{grid-template-columns:44px minmax(0,1fr);padding:13px}
  .pwa-install-banner>img{width:44px;height:44px;border-radius:12px}
  .pwa-install-copy>strong{font-size:16px}
  .pwa-install-copy>p{font-size:13px}
  .pwa-install-actions{align-items:stretch;flex-direction:column}
  .pwa-install-actions button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .pwa-install-banner{transition:none}
}
