


.text-muted {
  color: var(--text-muted, #c6a3d9) !important;
}


small, .small {
  color: var(--text-secondary, rgba(255, 255, 255, 0.88)) !important;
}


.btn:focus,
.form-control:focus,
.form-select:focus {
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--cbs-lavender, #c6a3d9) 30%, transparent);
  border-color: var(--cbs-lavender, #c6a3d9);
}


.bg-dark a.text-white:hover {
  color: #ffffff !important;
  text-decoration: underline;
}


.social-icons a {
  opacity: 0.9;
  transition: opacity 0.3s ease;
}

.social-icons a:hover {
  opacity: 1;
  transform: scale(1.1);
}


.card-text.text-muted {
  color: var(--text-muted, #c6a3d9) !important;
}


.form-label {
  color: var(--text-primary, #ffffff);
  font-weight: 500;
}


.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}


.alert {
  border: 1px solid transparent;
}

.alert-success {
  background-color: #d1e7dd;
  border-color: #badbcc;
  color: #0f5132;
}

.alert-danger {
  background-color: #f8d7da;
  border-color: #f5c2c7;
  color: #842029;
}

.alert-info {
  background-color: #cff4fc;
  border-color: #b6effb;
  color: #055160;
}


.breadcrumb {
  background-color: transparent;
  border: none;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--cbs-lavender, #c6a3d9);
}

.breadcrumb-item.active {
  color: var(--text-secondary, rgba(255, 255, 255, 0.88));
}


.text-success {
  color: var(--success-on-dark, #6ee7a8) !important;
}


.page-link {
  color: var(--cbs-lavender, #c6a3d9);
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.12);
}

.page-link:hover {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.24);
}

.page-item.active .page-link {
  color: #ffffff;
  background-color: var(--cbs-purple, #6f3a91);
  border-color: var(--cbs-purple, #6f3a91);
}


.table th {
  background-color: var(--color-surface, #201728);
  color: var(--text-primary, #ffffff);
  font-weight: 600;
}


.dropdown-menu {
  border: 1px solid var(--color-border, rgba(255, 255, 255, 0.12));
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.35);
}

.dropdown-item:hover {
  background-color: var(--color-bg-elevated, #31213b);
  color: var(--text-primary, #ffffff);
}


.gallery-row .card-body a.btn-outline-primary {
  color: #fff !important;
}
.gallery-row .card-body a.btn-outline-primary:hover {
  color: #fff !important;
}




.nav-link {
  color: var(--text-primary, #ffffff);
}

.nav-link:hover {
  color: var(--cbs-lavender, #c6a3d9);
}


.badge {
  font-weight: 500;
}


.progress {
  background-color: rgba(255, 255, 255, 0.08);
}

.progress-bar {
  background-color: var(--cbs-purple, #6f3a91);
}


.tooltip {
  font-size: 0.875rem;
}

.tooltip-inner {
  background-color: var(--color-bg-elevated, #31213b);
  color: #ffffff;
}


.popover {
  border: 1px solid var(--color-border, rgba(255, 255, 255, 0.12));
}

.popover-header {
  background-color: var(--color-surface, #201728);
  border-bottom: 1px solid var(--color-border, rgba(255, 255, 255, 0.12));
  color: var(--text-primary, #ffffff);
}


@media (prefers-contrast: high) {
  .text-muted {
    color: #ffffff !important;
  }

  .btn-outline-primary {
    border-color: #ffffff;
    color: #ffffff;
  }

  .btn-outline-primary:hover {
    background-color: #ffffff;
    color: var(--cbs-ink, #15101b);
  }
}


@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible {
  outline: 2px solid var(--cbs-lavender, #c6a3d9);
  outline-offset: 2px;
}


.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000;
  color: #fff;
  padding: 8px;
  text-decoration: none;
  z-index: 1000;
}

.skip-link:focus {
  top: 6px;
}
