/* === Donation Reminder (modern glassy) === */
/* Backdrop */
.donation-reminder{
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  background: rgba(0,0,0,.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  transform: scale(.98);
  animation: dr-fade-in .35s cubic-bezier(.2,.8,.2,1) forwards;
}

/* Modal card */
.reminder-box{
  position: relative;
  width: min(92vw, 420px);
  background: rgba(18,22,34,.78);
  color: #fff;
  border-radius: 18px;
  padding: 18px 18px 16px;
  text-align: center;
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}

/* Animated gradient ring */
.reminder-box::before{
  content:"";
  position:absolute; inset:0; padding:1px; border-radius:18px; pointer-events:none;
  background: conic-gradient(from 120deg,#6d79ff,#a06dff,#6ee7b7,#6d79ff);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  animation: dr-rotate 7.5s linear infinite;
  opacity: .45;
}

/* Title & text */
.reminder-box h3{ 
  margin: 4px 0 8px; 
  font-size: 20px; 
  letter-spacing: .2px; 
}
.reminder-box p{ 
  margin: 0 0 12px; 
  opacity: .9; 
  line-height: 1.6; 
}

/* Primary button */
.reminder-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  text-decoration:none; font-weight:800; letter-spacing:.2px;
  padding: 11px 16px; border-radius: 12px;
  background: linear-gradient(135deg,#6d79ff,#a06dff);
  border: 1px solid rgba(255,255,255,.16);
  color:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
  transform: translateZ(0);
}

/* Subtle pulse */
@keyframes dr-pulse { 
  0% { box-shadow: 0 0 0 0 rgba(160,109,255,.35) } 
  70%{ box-shadow: 0 0 0 10px rgba(160,109,255,0) } 
  100%{ box-shadow: 0 0 0 0 rgba(160,109,255,0) } 
}
.reminder-btn{ animation: dr-pulse 2.2s ease-out infinite; }
.reminder-btn:hover{ filter: brightness(1.04) }
.reminder-btn:active{ transform: translateY(1px) }

/* Dismiss button */
.reminder-box button{
  margin-top: 10px;
  background: transparent;
  border: 0;
  color: #cfd8dc;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 8px;
}
.reminder-box button:hover{ background: rgba(255,255,255,.06); color:#fff }

/* Entrance/exit animations */
@keyframes dr-fade-in{
  to { opacity: 1; transform: scale(1); }
}
@keyframes dr-fade-out{
  to { opacity: 0; transform: scale(.98); }
}
@keyframes dr-rotate{
  to { transform: rotate(360deg); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .donation-reminder{ animation: none; opacity: 1; transform: none; }
  .reminder-box::before{ animation: none; }
  .reminder-btn{ animation: none; }
}
