Custom input focus color
input:focus,
textarea:focus,
select:focus,
.form-control:focus,
.form-select:focus {
  border-color: #dacbe6 !important;
  box-shadow: 0 0 0 0.25rem rgba(218, 203, 230, 0.25) !important;
  outline: none !important;
}
:root {
  --bs-primary: #dacbe6 !important;
  --bs-primary-rgb: 218, 203, 230;
  --bs-primary-bg-subtle: #f4f0fa;
  --bs-primary-border-subtle: #dacbe6;
  --bs-link-color: #dacbe6;
  --bs-link-hover-color: #bfa6d3;

  /* Custom Bootstrap theme colors derived from primary */
  --bs-secondary: #bfa6d3;
  --bs-secondary-rgb: 191, 166, 211;
  --bs-success: #b6e6cb;
  --bs-success-rgb: 182, 230, 203;
  --bs-info: #cbe6e6;
  --bs-info-rgb: 203, 230, 230;
  --bs-warning: #f6e6cb;
  --bs-warning-rgb: 246, 230, 203;
  --bs-danger: #b74f46;
  --bs-danger-rgb: 183, 79, 70;
  --bs-light: #f8f6fa;
  --bs-light-rgb: 248, 246, 250;
  --bs-dark: #4b3c5e;
  --bs-dark-rgb: 75, 60, 94;

  /* Alert colors */
  --bs-alert-bg: var(--bs-light);
  --bs-alert-border: var(--bs-primary);
  
  --bs-alert-success: var(--bs-success);
  --bs-alert-success-bg: #f0f9f4;
  --bs-alert-success-border: var(--bs-success);
  --bs-alert-success-text: #1e4b30;
  
  --bs-alert-danger: var(--bs-danger);
  --bs-alert-danger-bg: #fbf1f5;
  --bs-alert-danger-border: var(--bs-danger);
  --bs-alert-danger-text: #58233a;
  
  --bs-alert-warning: var(--bs-warning);
  --bs-alert-warning-bg: #fdf6ee;
  --bs-alert-warning-border: var(--bs-warning);
  --bs-alert-warning-text: #664d29;
  
  --bs-alert-info: var(--bs-info);
  --bs-alert-info-bg: #f0f7f7;
  --bs-alert-info-border: var(--bs-info);
  --bs-alert-info-text: #2c5858;
}

/* Secondary */
.bg-secondary {
  background-color: var(--bs-secondary) !important;
}
.border-secondary {
  border-color: var(--bs-secondary) !important;
}
.text-secondary {
  color: var(--bs-secondary) !important;
}

/* Success */
.bg-success {
  background-color: var(--bs-success) !important;
}
.border-success {
  border-color: var(--bs-success) !important;
}
.text-success {
  color: var(--bs-success) !important;
}

/* Info */
.bg-info {
  background-color: var(--bs-info) !important;
}
.border-info {
  border-color: var(--bs-info) !important;
}
.text-info {
  color: var(--bs-info) !important;
}

/* Warning */
.bg-warning {
  background-color: var(--bs-warning) !important;
}
.border-warning {
  border-color: var(--bs-warning) !important;
}
.text-warning {
  color: var(--bs-warning) !important;
}

/* Danger */
.bg-danger {
  background-color: var(--bs-danger) !important;
}
.border-danger {
  border-color: var(--bs-danger) !important;
}
.text-danger {
  color: var(--bs-danger) !important;
}

/* Light */
.bg-light {
  background-color: var(--bs-light) !important;
}
.border-light {
  border-color: var(--bs-light) !important;
}
.text-light {
  color: var(--bs-light) !important;
}

/* Dark */
.bg-dark {
  background-color: var(--bs-dark) !important;
}
.border-dark {
  border-color: var(--bs-dark) !important;
}
.text-dark {
  color: var(--bs-dark) !important;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dacbe6;
  --bs-btn-border-color: #dacbe6;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bfa6d3;
  --bs-btn-hover-border-color: #bfa6d3;
  --bs-btn-focus-shadow-rgb: 218, 203, 230;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #a88fc0;
  --bs-btn-active-border-color: #a88fc0;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dacbe6;
  --bs-btn-disabled-border-color: #dacbe6;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #bfa6d3;
  --bs-btn-border-color: #bfa6d3;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #a88fc0;
  --bs-btn-hover-border-color: #a88fc0;
  --bs-btn-focus-shadow-rgb: 191, 166, 211;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #9478ad;
  --bs-btn-active-border-color: #9478ad;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #bfa6d3;
  --bs-btn-disabled-border-color: #bfa6d3;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #b6e6cb;
  --bs-btn-border-color: #b6e6cb;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #95d3b0;
  --bs-btn-hover-border-color: #95d3b0;
  --bs-btn-focus-shadow-rgb: 182, 230, 203;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #74c095;
  --bs-btn-active-border-color: #74c095;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #b6e6cb;
  --bs-btn-disabled-border-color: #b6e6cb;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: red;
  --bs-btn-hover-border-color: red;
  --bs-btn-focus-shadow-rgb: 230, 182, 203;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: red;
  --bs-btn-active-border-color: #c07495;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-danger);
  --bs-btn-disabled-border-color: var(--bs-danger);
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #f6e6cb;
  --bs-btn-border-color: #f6e6cb;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3c5b0;
  --bs-btn-hover-border-color: #d3c5b0;
  --bs-btn-focus-shadow-rgb: 246, 230, 203;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #b0a495;
  --bs-btn-active-border-color: #b0a495;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f6e6cb;
  --bs-btn-disabled-border-color: #f6e6cb;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #cbe6e6;
  --bs-btn-border-color: #cbe6e6;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #b0d3d3;
  --bs-btn-hover-border-color: #b0d3d3;
  --bs-btn-focus-shadow-rgb: 203, 230, 230;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #95c0c0;
  --bs-btn-active-border-color: #95c0c0;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #cbe6e6;
  --bs-btn-disabled-border-color: #cbe6e6;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f6fa;
  --bs-btn-border-color: #f8f6fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d1d5;
  --bs-btn-hover-border-color: #d3d1d5;
  --bs-btn-focus-shadow-rgb: 248, 246, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #aeacb0;
  --bs-btn-active-border-color: #aeacb0;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f6fa;
  --bs-btn-disabled-border-color: #f8f6fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #4b3c5e;
  --bs-btn-border-color: #4b3c5e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #2a1b3d;
  --bs-btn-hover-border-color: #2a1b3d;
  --bs-btn-focus-shadow-rgb: 75, 60, 94;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #09001c;
  --bs-btn-active-border-color: #09001c;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #4b3c5e;
  --bs-btn-disabled-border-color: #4b3c5e;
}

/* Custom btn-outline styles */
.btn-outline-primary {
  --bs-btn-color: #dacbe6;
  --bs-btn-border-color: #dacbe6;
  --bs-btn-hover-bg: #dacbe6;
  --bs-btn-hover-border-color: #dacbe6;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #bfa6d3;
  --bs-btn-active-border-color: #bfa6d3;
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: #dacbe6;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dacbe6;
}

.btn-outline-secondary {
  --bs-btn-color: #bfa6d3;
  --bs-btn-border-color: #bfa6d3;
  --bs-btn-hover-bg: #bfa6d3;
  --bs-btn-hover-border-color: #bfa6d3;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #a88fc0;
  --bs-btn-active-border-color: #a88fc0;
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: #bfa6d3;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #bfa6d3;
}

.btn-outline-success {
  --bs-btn-color: #b6e6cb;
  --bs-btn-border-color: #b6e6cb;
  --bs-btn-hover-bg: #b6e6cb;
  --bs-btn-hover-border-color: #b6e6cb;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #95d3b0;
  --bs-btn-active-border-color: #95d3b0;
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: #b6e6cb;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #b6e6cb;
}

.btn-outline-danger {
  --bs-btn-color: #e6b6cb;
  --bs-btn-border-color: #e6b6cb;
  --bs-btn-hover-bg: #e6b6cb;
  --bs-btn-hover-border-color: #e6b6cb;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #d395b0;
  --bs-btn-active-border-color: #d395b0;
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: #e6b6cb;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #e6b6cb;
}

.btn-outline-warning {
  --bs-btn-color: #f6e6cb;
  --bs-btn-border-color: #f6e6cb;
  --bs-btn-hover-bg: #f6e6cb;
  --bs-btn-hover-border-color: #f6e6cb;
  --bs-btn-hover-color: #000;
  --bs-btn-active-bg: #d3c5b0;
  --bs-btn-active-border-color: #d3c5b0;
  --bs-btn-active-color: #000;
  --bs-btn-disabled-color: #f6e6cb;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f6e6cb;
}

.btn-outline-info {
  --bs-btn-color: #cbe6e6;
  --bs-btn-border-color: #cbe6e6;
  --bs-btn-hover-bg: #cbe6e6;
  --bs-btn-hover-border-color: #cbe6e6;
  --bs-btn-hover-color: #000;
  --bs-btn-active-bg: #b0d3d3;
  --bs-btn-active-border-color: #b0d3d3;
  --bs-btn-active-color: #000;
  --bs-btn-disabled-color: #cbe6e6;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #cbe6e6;
}

.btn-outline-light {
  --bs-btn-color: #f8f6fa;
  --bs-btn-border-color: #f8f6fa;
  --bs-btn-hover-bg: #f8f6fa;
  --bs-btn-hover-border-color: #f8f6fa;
  --bs-btn-hover-color: #000;
  --bs-btn-active-bg: #d3d1d5;
  --bs-btn-active-border-color: #d3d1d5;
  --bs-btn-active-color: #000;
  --bs-btn-disabled-color: #f8f6fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f6fa;
}

.btn-outline-dark {
  --bs-btn-color: #4b3c5e;
  --bs-btn-border-color: #4b3c5e;
  --bs-btn-hover-bg: #4b3c5e;
  --bs-btn-hover-border-color: #4b3c5e;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #2a1b3d;
  --bs-btn-active-border-color: #2a1b3d;
  --bs-btn-active-color: #fff;
  --bs-btn-disabled-color: #4b3c5e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #4b3c5e;
}

.bg-primary {
  background-color: #dacbe6 !important;
}

.border-primary {
  border-color: #dacbe6 !important;
}

.text-primary {
  color: #dacbe6 !important;
}

.form-check-input:checked {
  background-color: #dacbe6;
  border-color: #dacbe6;
}

.form-range::-webkit-slider-thumb {
  background-color: #dacbe6;
}
.form-range::-moz-range-thumb {
  background-color: #dacbe6;
}
.form-range::-ms-thumb {
  background-color: #dacbe6;
}

.page-link.active,
.active > .page-link {
  background-color: #dacbe6;
  border-color: #dacbe6;
}

.progress-bar.bg-primary {
  background-color: #dacbe6 !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: #dacbe6;
}

.alert-primary {
  color: #4b3c5e;
  background-color: #f4f0fa;
  border-color: #dacbe6;
}

/* Select2 custom primary color overrides */
.select2-container--bootstrap-5 .select2-selection,
.select2-container--bootstrap-5 .select2-selection--single,
.select2-container--bootstrap-5 .select2-selection--multiple {
  border-color: var(--bs-border-color, #ced4da) !important;
}
.select2-container--bootstrap-5 .select2-selection--single:focus,
.select2-container--bootstrap-5 .select2-selection--multiple:focus {
  border-color: #dacbe6 !important;
  box-shadow: 0 0 0 0.25rem rgba(218, 203, 230, 0.25) !important;
}
.select2-container--bootstrap-5 .select2-results__option--highlighted {
  background-color: #dacbe6 !important;
  color: #fff !important;
}
.select2-container--bootstrap-5 .select2-results__option[aria-selected="true"] {
  background-color: #bfa6d3 !important;
  color: #fff !important;
}
.select2-container--bootstrap-5 .select2-selection__choice {
  background-color: #dacbe6 !important;
  border-color: #dacbe6 !important;
  color: #fff !important;
}
.select2-container--bootstrap-5 .select2-selection__choice__remove {
  color: #fff !important;
}

/* Select2 selected dropdown option override (not Bootstrap primary) */
.select2-container--bootstrap-5
  .select2-dropdown
  .select2-results__options
  .select2-results__option.select2-results__option--selected,
.select2-container--bootstrap-5
  .select2-dropdown
  .select2-results__options
  .select2-results__option[aria-selected="true"]:not(
    .select2-results__option--highlighted
  ) {
  background-color: var(--bs-primary-bg-subtle, #f4f0fa) !important;
  color: var(--bs-dark, #212529) !important;
}

/* Alert Styles */
.alert {
  position: relative;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
}

.alert-success {
  color: var(--bs-alert-success-text);
  background-color: var(--bs-alert-success-bg);
  border-color: var(--bs-alert-success-border);
}

.alert-danger {
  color: var(--bs-alert-danger-text);
  background-color: var(--bs-alert-danger-bg);
  border-color: var(--bs-alert-danger-border);
}

.alert-warning {
  color: var(--bs-alert-warning-text);
  background-color: var(--bs-alert-warning-bg);
  border-color: var(--bs-alert-warning-border);
}

.alert-info {
  color: var(--bs-alert-info-text);
  background-color: var(--bs-alert-info-bg);
  border-color: var(--bs-alert-info-border);
}

.alert-dismissible {
  padding-right: 3rem;
}

.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

/* Toastr custom styling */
#toast-container > div {
  opacity: 1;
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.toast-success {
  background-color: var(--bs-success) !important;
}

.toast-error {
  background-color: var(--bs-danger) !important;
}

.toast-info {
  background-color: var(--bs-info) !important;
}

.toast-warning {
  background-color: var(--bs-warning) !important;
}

/* Progress bar styling */
.toast-progress {
  background-color: rgba(255, 255, 255, 0.7);
}

.highlighted {
  background-color: var(--bs-light) !important;
}


.layout-wrapper {
  min-height: 100vh;
}
.sidebar-col {
  width: 220px;
  flex-shrink: 0;
}
@media (max-width: 991.98px) {
  .sidebar-col {
    width: 100%;
    position: static !important;
  }
  .main {
    margin-left: 0 !important;
  }
  .layout-wrapper {
    flex-direction: column;
  }
}

th, td {
  color: var(--bs-dark) !important;
}

.card-title {
  color: var(--bs-dark) !important;
}

.font-weight-500 {
  font-weight: 500;
  margin-bottom: 0 !important;
}

.card-container {
  padding-bottom: 1rem !important;
}

.question-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: var(--bs-light);
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.question-container:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.question-container h5,
.question-container h6 {
  margin-bottom: 0;
  color: var(--bs-dark);
}

.quantity-badge {
  margin-left: 5px;
}

.text-bg-success {
  background-color: #7eb902 !important;
  color: #fff !important;
}

.body-background {
  background-color: #f8f9fa !important;
}

.breathing-1 {
  transition: background-color 0.3s;
  animation: breathe-1 2s ease-in-out infinite;
}

.breathing-2 {
  transition: background-color 0.3s;
  animation: breathe-2 2s ease-in-out infinite;
}

.breathing-3 {
  transition: background-color 0.3s;
  animation: breathe-3 2s ease-in-out infinite;
}

@keyframes breathe-1 {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.01);
    opacity: 1;
  }
}

@keyframes breathe-2 {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.02);
    opacity: 1;
  }
}

@keyframes breathe-3 {
  0%, 100% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.03);
    opacity: 1;
  }
}