/* Comemoracao de contrato assinado: card + confete */
.festa {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 7vh; pointer-events: none;
}
.festa__confete { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.festa__cartao {
  position: relative; pointer-events: auto;
  width: min(92vw, 400px);
  padding: 30px 30px 24px;
  text-align: center;
  border-radius: 22px;
  background: linear-gradient(168deg, #17140f 0%, #0c0b09 100%);
  border: 1px solid rgba(255, 143, 31, .42);
  box-shadow: 0 0 0 1px rgba(255, 143, 31, .12),
              0 28px 70px -18px rgba(0, 0, 0, .8),
              0 0 60px -12px rgba(255, 143, 31, .35);
  opacity: 0; transform: translateY(-16px) scale(.96);
  transition: opacity .34s ease, transform .44s cubic-bezier(.18, .9, .26, 1.08);
}
.festa--entra .festa__cartao { opacity: 1; transform: translateY(0) scale(1); }
.festa__fechar {
  position: absolute; top: 10px; right: 12px;
  background: none; border: 0; cursor: pointer;
  font-size: 22px; line-height: 1; color: #6f6862; padding: 4px 8px;
}
.festa__fechar:hover { color: #f5f0ed; }
.festa__selo { font-size: 40px; line-height: 1; margin-bottom: 10px;
  animation: festa-pula 1.5s cubic-bezier(.3, .8, .4, 1) 2; }
@keyframes festa-pula {
  0%, 100% { transform: translateY(0) rotate(0); }
  30% { transform: translateY(-9px) rotate(-9deg); }
  60% { transform: translateY(0) rotate(7deg); }
}
.festa__faixa {
  margin: 0 0 12px; font-size: .72rem; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase; color: #FF8F1F;
}
.festa__cliente {
  margin: 0 0 6px; font-size: 1.35rem; font-weight: 700; line-height: 1.2;
  color: #f5f0ed; letter-spacing: -.01em;
}
.festa__numeros { margin: 0; font-size: .95rem; color: #bdb5ad; }
.festa__numeros b { color: #FF8F1F; font-size: 1.3rem; }
.festa__mais { margin: 10px 0 0; font-size: .82rem; color: #8f8880; }
.festa__pe {
  margin: 16px 0 0; padding-top: 14px; font-size: .8rem; color: #8f8880;
  border-top: 1px solid rgba(245, 240, 237, .10);
}
@media (prefers-reduced-motion: reduce) {
  .festa__cartao { transition: none; opacity: 1; transform: none; }
  .festa__selo { animation: none; }
}
