.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--primary-color);
  --bs-btn-border-color: var(--primary-color);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: color-mix(in srgb, var(--primary-color) 80%, white 18%);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--primary-color) 80%, white 20%);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: color-mix(in srgb, var(--primary-color) 60%, white 38%);
  --bs-btn-active-border-color: color-mix(in srgb, var(--primary-color) 60%, white 40%);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--primary-color);
  --bs-btn-disabled-border-color: var(--primary-color);
}

.btn-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--primary-color-rgb), 0.005);
}

.card {
  border-radius: 1rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 1rem;
  background-color: #fff;
}

.accordion-variant-1 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.accordion-variant-1 .accordion-item {
  border: none;
}

.accordion-variant-1 .accordion-button {
  background-color: #f6fbff;
  font-weight: 600;
  color: var(--heading-color);
  border-radius: 0.75rem !important;
  border: 1px solid var(--primary-color);
}

.accordion-variant-1 .accordion-button:focus {
  box-shadow: none;
}

.app-navbar {
  padding: 1rem 2rem;
  position: fixed;
  z-index: 2;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.navbar {
  --bs-navbar-color: white;
}

.navbar-nav {
  --bs-nav-link-hover-color: white;
}

.curvy-lines {
  position: fixed;
  bottom: 0;
  left: -2rem;
  opacity: 0.75;
  z-index: -1;
  height: 500px;
}

.curvy-lines-2 {
  position: fixed;
  top: 0;
  right: -2rem;
  opacity: 0.75;
  z-index: -1;
  height: 500px;
  transform: scaleY(-1) scaleX(-1);
}

.curvy-full {
  position: fixed;
  bottom: 0;
  left: 0;
  top: 0;
  right: 0;
  z-index: -1;
  opacity: 0.3;
  height: 100%;
  width: 100%;
  padding: 0;
}

.curvy-full-absolute {
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  right: 0;
  z-index: -1;
  opacity: 0.3;
  height: 100%;
  width: 100%;
  padding: 0;
}
