/* --- Pincode Section & Universal Modal Styles --- */

.pincode-section {
  margin-top: 25px !important;
  padding-bottom: 20px !important;
}

.pincode-header {
  display: flex !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}

.pincode-label-text {
  font-weight: 500 !important;
  font-size: 16px !important;
  color: #303030 !important;
  white-space: nowrap !important;
}

.pincode-action-btn {
  color: #00a5f1 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  text-decoration: underline !important;
  cursor: pointer !important;
}

.pincode-info-box {
  background: #e6f8ff !important;
  padding: 5px 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  color: #303030 !important;
}

.pincode-info-text {
  color: #303030 !important;
  text-align: left !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  font-size: 13px !important;
}

/* --- Custom Pincode Modal --- */
.custom-pincode-modal {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.4) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2000 !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}

.custom-pincode-modal.show {
  display: flex !important;
  opacity: 1 !important;
}

.custom-pincode-modal-dialog {
  width: 90% !important;
  max-width: 350px !important;
  transform: scale(0.94) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.custom-pincode-modal.show .custom-pincode-modal-dialog {
  transform: scale(1) !important;
}

.custom-pincode-modal-content {
  background: #fff !important;
  border-radius: 20px !important;
  padding: 30px 20px !important;
  text-align: center !important;
  position: relative !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
  border: none !important;
}

.custom-pincode-close {
  position: absolute !important;
  right: 12px !important;
  top: 10px !important;
  background: transparent !important;
  border: none !important;
  font-size: 28px !important;
  cursor: pointer !important;
  color: #303030 !important;
  line-height: 1 !important;
  padding: 5px 8px !important;
}

.custom-pincode-modal-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #303030 !important;
  margin-bottom: 25px !important;
}

.pincode-input-wrapper {
  margin-bottom: 20px !important;
}

.custom-pincode-input {
  width: 100% !important;
  padding: 12px 15px !important;
  border: 1px solid #00a5f1 !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  text-align: left !important;
  outline: none !important;
}

.custom-pincode-confirm-btn {
  background-color: #00a5f1 !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 30px !important;
  border-radius: 25px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  width: auto !important;
  min-width: 120px !important;
  transition: background-color 0.2s !important;
}

.custom-pincode-confirm-btn:hover {
  background-color: #008ecc !important;
}

.custom-pincode-confirm-btn:disabled {
  background-color: #a4ceea !important;
  cursor: not-allowed !important;
}

.pincode-msg-style {
  font-size: 14px !important;
  margin-bottom: 15px !important;
  display: none;
  text-align: center !important;
}

.pincode-msg-style.text-danger {
  color: #dc3545 !important;
  display: block !important;
}

.pincode-msg-style.text-success {
  color: #28a745 !important;
  display: block !important;
}

@media (max-width: 767px) {
  .pincode-section {
    padding-bottom: 10px !important;
  }
}
