.plan-overlay {
  position: fixed;
  inset: 0;

  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(3px);

  z-index: 99998;
}

.plan-alert {
  position: fixed;

  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);

  width: 90%;
  max-width: 520px;

  z-index: 99999;
}

.plan-alert-content {
  display: flex;
  flex-direction: column;

  background: #fff;
  border-radius: 20px;

  padding: 30px;

  text-align: center;

  box-shadow:
    0 20px 60px rgba(0,0,0,0.25);

  animation: fadeDown 0.35s ease;
}

.plan-alert-icon {
  font-size: 55px;
  color: #ff9800;

  margin-bottom: 18px;
}

.plan-alert-text h3 {
  margin: 0 0 12px;

  font-size: 24px;
  color: #222;
}

.plan-alert-text p {
  margin: 0;

  font-size: 15px;
  line-height: 1.7;

  color: #555;
}

.plan-alert-actions {
  margin-top: 28px;
}

.plan-alert-pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  width: 100%;
  height: 52px;
  background: #052a51;
  color: #fff;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.25s;
}

.plan-alert-pay:hover {
  background: #073b73;
  transform: translateY(-1px);
  cursor: pointer;
}

.hidden {
  display: none;
}

@keyframes fadeDown {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}