.cgf-pop-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; z-index: 999999; animation: fadeIn .2s ease; }
.cgf-pop { width: 95%; max-width: 520px; background: #fff; border-radius: 18px; padding: 26px; box-shadow: 0 20px 60px rgba(0,0,0,.25); text-align: center; position: relative; overflow: hidden; }
.cgf-pop h2 { margin: 8px 0 4px; }
.cgf-pop input { width: 100%; padding: 10px 12px; margin: 10px 0 14px; border: 1px solid #ddd; border-radius: 10px; }
.cgf-pop button { padding: 10px 16px; border: 0; border-radius: 999px; cursor: pointer; margin: 4px; }
.cgf-pop button.ghost { background: transparent; border: 1px solid #ccc; }
.cgf-msg { margin-top: 10px; font-size: 14px; }

.cgf-balloons { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.cgf-balloons .b { position: absolute; bottom: -60px; width: 24px; height: 30px; border-radius: 50% 50% 45% 45%; background: #ff6; animation: rise 4.2s ease-in infinite; opacity: .9; }
.b1 { left: 10%; background:#ff8a80; animation-delay: .1s }
.b2 { left: 30%; background:#ffd180; animation-delay: .6s }
.b3 { left: 50%; background:#a5d6a7; animation-delay: .3s }
.b4 { left: 70%; background:#90caf9; animation-delay: .8s }
.b5 { left: 85%; background:#ce93d8; animation-delay: .2s }

@keyframes rise { 0% { transform: translateY(0) scale(1); opacity:.0 } 15% { opacity:1 } 100% { transform: translateY(-120vh) scale(1.1); opacity:0 } }
@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }
