.subscription-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:flex;justify-content:center;align-items:center;z-index:999;}
.subscription-form{background:#fff;padding:25px 30px 30px;border-radius:18px;box-shadow:0px 8px 28px rgba(0,0,0,0.25);width:380px;animation:subscriptionFadeIn 0.5s ease;position:relative;overflow:hidden;}
.abstract-bg{position:absolute;top:0;left:0;width:100%;height:110px;z-index:0;}
.subscription-form img,.subscription-form h2,.subscription-form input,.subscription-form button,.subscription-form p{position:relative;z-index:1;}
.subscription-form img{width:150px;margin-bottom:10px;}
.subscription-form h3{margin-top:25px;font-size:18px;color:#555;text-align:center;margin-bottom:10px;}
.subscription-form h5{font-size: 14px; font-weight: 600; margin-bottom: 15px; text-align: center; color: #0f59c9;}
.subscription-form input{width:100%;padding:12px 14px;margin:10px 0;border:1px solid #ccc;border-radius:10px;font-size:1rem;outline:none;transition:all 0.3s;}
.subscription-form input:focus{border-color:#0f59c9;box-shadow:0 0 6px rgba(15,89,201,0.3);}
.subscription-form button{width:100%;padding:12px;margin-top:15px;background:#0f59c9;border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:500;letter-spacing:0.3px;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;}
.subscription-form button:hover{transform:translateY(-2px);box-shadow:0px 6px 16px rgba(15,89,201,0.4);}
.subscription-form p{margin-top:18px;margin-bottom:0px;font-size:0.9rem;color:#555;text-align:center;}
.subscription-form span{color:#0f59c9;text-decoration:none;font-weight:500;cursor:pointer;}
.subscription-form span:hover{text-decoration:underline;}
.close-btn{position:absolute;top:10px;right:14px;font-size:22px;cursor:pointer;color:#666;z-index:2;}
@keyframes subscriptionFadeIn{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}
.input-error {border: 1px solid #e74c3c !important;box-shadow: 0 0 6px rgba(231, 76, 60, 0.3);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23e74c3c' viewBox='0 0 24 24'%3E%3Cpath d='M11 7h2v6h-2zm0 8h2v2h-2z'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 12px center;background-size: 18px;}
#proceedBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px; /* spacing between text & spinner */
}

#proceedBtn:disabled {
  opacity: 0.6;   /* makes it semi-transparent */
  cursor: not-allowed; /* show blocked cursor */
}

.custom-spinner {
  width: 24px;
  height: 24px;
  border: 3px solid #fff;
  border-top: 3px solid #0f59c9;
  border-radius: 50%;
  animation: loadingSpin 0.8s linear infinite;
}

@keyframes loadingSpin {
  to { transform: rotate(360deg); }
}

.notification-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:flex;justify-content:center;align-items:center;z-index:999;}
.notification-wrapper{text-align:center;background:#fff;padding:45px 30px 30px;border-radius:18px;box-shadow:0px 8px 28px rgba(0,0,0,0.25);width:450px;animation:subscriptionFadeIn 0.5s ease;position:relative;overflow:hidden;}
.notification-wrapper button{padding:5px 20px;margin-top:15px;background:#0f59c9;border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:500;letter-spacing:0.3px;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;}
.notification-wrapper button:hover{transform:translateY(-2px);box-shadow:0px 6px 16px rgba(15,89,201,0.4);}
.notification-msg {text-align: center; margin-bottom: 10px; font-size: 18px;}
/* Upgrde */

:root { --brand: #0f59c9; }

.fullpage-loader {
  position: fixed;
  inset: 0;
  background: #ffffffe6;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

.fullpage-loader .spinner {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 8px solid rgba(15, 89, 201, 0.2);
  border-top-color: var(--brand);
  animation: spin 0.9s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Upgrde */
