/* ============= FOOTER STYLES ============= */
.bottom-footer-links li {
  list-style:none;display:inline-block;line-height:20px;position:relative;margin-right:45px;
}
.bottom-footer-links li:after {
  position:absolute;right:-28px;top:0;height:100%;width:1px;background:#a8a8a8;content:"";
}
.bottom-footer-links li:last-child::after {display:none;}
.bottom-copyright-text {text-align:right;}
.main-menu__nav .active{color:#fff;background:#007bff;font-weight:bold;}
.star{color:red;}

/* ============= GENERAL UI ============= */
.form-check-input:checked {background-color:#a577ff!important;border-color:#a577ff!important;}
.col-form-label{padding-top:calc(.375rem + 1px)!important;margin-bottom:0!important;}
.form-check-input{accent-color:#a577ff;}
.form-check-input{margin-top: 0px !important;}
.form-check-label{color:inherit!important;font-weight:inherit!important;}

/* ============= FLOATING BANNER ============= */
.floating-banner{
 position:fixed;top:0;left:50%;transform:translateX(-50%);
 color:#fff;padding:10px 20px;border-radius:0 0 6px 6px;
 font-size:15px;text-align:center;z-index:99999;display:none;
 box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.error-banner{background:#dc3545;}
.success-banner{background:#28a745;}

/* ============= FORM STATES ============= */
.form-control.is-valid,
select.is-valid {
  border-color:#28a745!important;
  background-color:#f5faff!important;
  background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="%2328a745" viewBox="0 0 16 16"%3E%3Cpath d="M13.485 1.929a.75.75 0 0 1 .086 1.06l-7.5 9a.75.75 0 0 1-1.086.06l-3.5-3.5a.75.75 0 1 1 1.06-1.06l2.97 2.97 6.97-8.37a.75.75 0 0 1 1.03-.16z"/%3E%3C/svg%3E');
  background-repeat:no-repeat;
  background-position:right 0.75rem center;
  background-size:1rem 1rem;
  padding-right:2rem;
}
.form-control.is-invalid,
select.is-invalid {
  border-color:#dc3545!important;
  background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="%23dc3545" viewBox="0 0 16 16"%3E%3Cpath d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/%3E%3C/svg%3E');
  background-repeat:no-repeat;
  background-position:right 0.75rem center;
  background-size:1rem 1rem;
  padding-right:2rem;
}


select.is-invalid, input.is-invalid {
  border-color: #dc3545 !important;
}

.is-invalid-checkbox {
  outline: 2px solid #dc3545;
  outline-offset: 3px;
}

/* ensure red overrides green */
.form-control.is-valid.is-invalid,
select.is-valid.is-invalid {
  background-image:none!important;
  border-color:#dc3545!important;
  box-shadow:0 0 6px rgba(220,53,69,0.25)!important;
}

/* ============= VISUAL EFFECTS ============= */
.error-highlight {
  border:2px solid #dc3545!important;
  box-shadow:0 0 8px rgba(220,53,69,0.6);
  animation:shake .35s ease-in-out;
}
@keyframes shake {
  0%,100%{transform:translateX(0);}
  25%{transform:translateX(-4px);}
  50%{transform:translateX(4px);}
  75%{transform:translateX(-4px);}
}

.floating-banner {
  transform:translateX(-50%) translateY(-20px);
  opacity:0;
  transition:all 0.35s ease;
}
.floating-banner.show {
  transform:translateX(-50%) translateY(0);
  opacity:1;
}

.error-highlight {
  border: 2px solid #dc3545 !important;
  box-shadow: 0 0 10px rgba(220, 53, 69, 0.6);
  animation: shake 0.3s ease-in-out;
}
@keyframes shake {
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-4px)}
  50%{transform:translateX(4px)}
  75%{transform:translateX(-4px)}
}

/* Looks disabled but still clickable so the submit handler can run */
.thm-btn.btn-blocked {
  opacity: 0.55;
  cursor: not-allowed;
}


input.is-invalid, select.is-invalid {
  border-color: #dc3545 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1zM7 4h2v5H7zm0 6h2v2H7z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
}

/* Proper checkbox styling for CashPe theme */
input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #6a0dad; /* CashPe purple */
  cursor: pointer;
  vertical-align: middle;
}

input[type="checkbox"]:checked {
  background-color: #6a0dad;
  border-color: #6a0dad;
  position: relative;
}

input[type="checkbox"]:checked::after {
  content: "✔";
  position: absolute;
  top: -5px;
  left: 2px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
}

.btn-blocked {
  opacity: 0.6;
  cursor: not-allowed !important;
  pointer-events: none;
}

button:not(.btn-blocked):hover {
  opacity: 0.9;
  cursor: pointer;
}

/* Remove tick mark or any icon added via pseudo-elements */
#submit::after,
#submitwithOtp::after,
button[type="submit"]::after {
  content: none !important;
}

/* Optional: clean, consistent purple button styling */
#submit,
#submitwithOtp,
button[type="submit"] {
  background-color: #b59df5;   /* CashPe lavender */
  border: none;
  color: #fff;
  font-weight: 600;
  border-radius: 10px;
  padding: 15px 40px;
  transition: all 0.3s ease;
}

#submit:hover,
#submitwithOtp:hover,
button[type="submit"]:hover {
  background-color: #9c80e8;
  transform: translateY(-1px);
}

#submit:disabled,
#submitwithOtp:disabled,
button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.dob-input{
cursor:pointer;
}

.dob-input::-webkit-calendar-picker-indicator{
cursor:pointer;
opacity:1;
}



