/* ---------- convite para instalar o aplicativo (PWA) ---------- */
.cj-inst {
  position: fixed;
  left: 12px; right: 12px; bottom: 12px;
  z-index: 100000;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: linear-gradient(135deg, #0d47a1, #041a47);
  color: #fff;
  box-shadow: 0 12px 30px rgba(1, 40, 80, .45);
  font-family: 'Segoe UI', Arial, sans-serif;
  transform: translateY(140%);
  opacity: 0;
  transition: transform .32s cubic-bezier(.2, .8, .3, 1), opacity .32s ease;
}
.cj-inst.cj-inst-on { transform: none; opacity: 1; }
.cj-inst-ico {
  width: 46px; height: 46px; flex: 0 0 46px;
  border-radius: 12px; background: #fff; padding: 3px;
  object-fit: contain;
}
.cj-inst-txt { flex: 1 1 auto; line-height: 1.3; min-width: 0; }
.cj-inst-txt b { display: block; font-size: 14px; }
.cj-inst-txt span { display: block; font-size: 12px; opacity: .88; margin-top: 2px; }
.cj-inst-acoes { display: flex; flex-direction: column; gap: 6px; flex: 0 0 auto; }
.cj-inst-sim, .cj-inst-nao {
  border: none; border-radius: 20px; cursor: pointer;
  font-family: inherit; font-weight: 700; white-space: nowrap;
}
.cj-inst-sim { background: #1f9d55; color: #fff; font-size: 14px; padding: 9px 18px; }
.cj-inst-nao { background: transparent; color: #b9d6f5; font-size: 12px; padding: 4px 8px; }
.cj-inst-sim:active { transform: scale(.97); }

/* em telas bem estreitas o texto ganha a linha inteira */
@media (max-width: 400px) {
  .cj-inst { flex-wrap: wrap; }
  .cj-inst-acoes { flex-direction: row; width: 100%; justify-content: flex-end; }
}
