/* === Bootstrap Overrides for Anantys Dark Fintech Theme === */

/* Tooltip Customization */
.tooltip {
  z-index: 2000;
}

.tooltip .tooltip-inner {
  background: var(--an-bg-tertiary) !important;
  color: var(--an-text-primary) !important;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 8px;
  box-shadow: 0 2px 8px var(--an-shadow-md);
  padding: 10px 16px;
  text-align: center;
}

/* Tooltip Arrow Colors */
.tooltip.bs-tooltip-top .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="top"] .tooltip-arrow::before {
  border-top-color: var(--an-bg-tertiary) !important;
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="bottom"] .tooltip-arrow::before {
  border-bottom-color: var(--an-bg-tertiary) !important;
}

.tooltip.bs-tooltip-left .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="left"] .tooltip-arrow::before {
  border-left-color: var(--an-bg-tertiary) !important;
}

.tooltip.bs-tooltip-right .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[x-placement^="right"] .tooltip-arrow::before {
  border-right-color: var(--an-bg-tertiary) !important;
}

/* Background Color Classes */
.bg-primary {
  background-color: var(--an-bg-primary) !important;
}
.bg-secondary {
  background-color: var(--an-bg-secondary) !important;
}
.bg-success {
  background-color: var(--an-success) !important;
}
.bg-danger {
  background-color: var(--an-danger) !important;
}
.bg-warning {
  background-color: var(--an-warning) !important;
}
.bg-info {
  background-color: var(--an-info) !important;
}
.bg-dark {
  background-color: var(--an-bg-primary) !important;
}
.bg-light {
  background-color: var(--an-bg-tertiary) !important;
}

/* Text Background Combinations */
.text-bg-primary {
  color: var(--an-text-primary) !important;
  background-color: var(--an-accent-primary) !important;
}

.text-bg-secondary {
  color: var(--an-text-primary) !important;
  background-color: var(--an-bg-secondary) !important;
}

.text-bg-success {
  color: var(--an-text-primary) !important;
  background-color: var(--an-success) !important;
}

.text-bg-danger {
  color: var(--an-text-primary) !important;
  background-color: var(--an-danger) !important;
}

.text-bg-warning {
  color: var(--an-text-primary) !important;
  background-color: var(--an-warning) !important;
}

.text-bg-info {
  color: var(--an-text-primary) !important;
  background-color: var(--an-info) !important;
}

.text-bg-dark {
  color: var(--an-text-primary) !important;
  background-color: var(--an-bg-primary) !important;
}

.text-bg-light {
  color: var(--an-text-primary) !important;
  background-color: var(--an-bg-tertiary) !important;
}

/* Text Color Overrides */
.text-dark {
  color: var(--an-text-muted) !important;
}
.text-muted {
  color: var(--an-text-muted) !important;
}
.text-primary {
  color: var(--an-text-primary) !important;
}
.text-secondary {
  color: var(--an-text-secondary) !important;
}
.text-accent {
  color: var(--an-accent-primary) !important;
}
.text-success {
  color: var(--an-success) !important;
}
.text-danger {
  color: var(--an-danger) !important;
}
.text-warning {
  color: var(--an-warning) !important;
}
.text-info {
  color: var(--an-info) !important;
}

/* Dropdown Overrides */
.dropdown-menu {
  background-color: var(--an-bg-secondary) !important;
  border: 1px solid var(--an-border-medium) !important;
  box-shadow: 0 2px 8px var(--an-shadow-md) !important;
}

.dropdown-item {
  color: var(--an-text-primary) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--an-text-primary) !important;
  background-color: var(--an-bg-hover) !important;
}

.dropdown-item.active,
.dropdown-item:active {
  color: var(--an-text-primary) !important;
  background-color: var(--an-hover-active) !important;
}

/* Button Overrides */
.btn-primary {
  --bs-btn-color: var(--an-bg-primary);
  --bs-btn-bg: var(--an-accent-primary);
  --bs-btn-border-color: var(--an-accent-primary);
  --bs-btn-hover-color: var(--an-bg-primary);
  --bs-btn-hover-bg: var(--an-accent-hover);
  --bs-btn-hover-border-color: var(--an-accent-hover);
  --bs-btn-focus-shadow-rgb: var(--an-focus-shadow-rgb-primary);
  --bs-btn-active-color: var(--an-bg-primary);
  --bs-btn-active-bg: var(--an-hover-active);
  --bs-btn-active-border-color: var(--an-accent-hover);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--an-text-muted);
  --bs-btn-disabled-bg: var(--an-bg-tertiary);
  --bs-btn-disabled-border-color: var(--an-border-medium);
}

.btn-primary:active,
.btn-primary.active {
  background-color: var(--an-hover-active) !important;
  border-color: var(--an-accent-hover) !important;
}

.btn-secondary {
  --bs-btn-color: var(--an-text-primary);
  --bs-btn-bg: var(--an-bg-secondary);
  --bs-btn-border-color: var(--an-border-medium);
  --bs-btn-hover-color: var(--an-text-primary);
  --bs-btn-hover-bg: var(--an-bg-hover);
  --bs-btn-hover-border-color: var(--an-border-dark);
  --bs-btn-focus-shadow-rgb: 87, 201, 224;
  --bs-btn-active-color: var(--an-text-primary);
  --bs-btn-active-bg: var(--an-hover-active);
  --bs-btn-active-border-color: var(--an-border-dark);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--an-text-muted);
  --bs-btn-disabled-bg: var(--an-bg-tertiary);
  --bs-btn-disabled-border-color: var(--an-border-medium);
}

.btn-secondary:active,
.btn-secondary.active {
  background-color: var(--an-hover-active) !important;
  border-color: var(--an-border-dark) !important;
}

/* Card Overrides */
.card {
  background-color: var(--an-bg-secondary) !important;
  border: 1px solid var(--an-border-medium) !important;
}

.card-header {
  background-color: var(--an-bg-tertiary) !important;
  border-bottom: 1px solid var(--an-border-medium) !important;
}

/* Form Control Overrides */
.form-control {
  background-color: var(--an-bg-secondary) !important;
  border: 1px solid var(--an-border-medium) !important;
  color: var(--an-text-primary) !important;
}

.form-control:focus {
  background-color: var(--an-bg-secondary) !important;
  border-color: var(--an-accent-primary) !important;
  box-shadow: 0 0 0 0.25rem var(--an-accent-primary-alpha) !important;
}

.form-control::placeholder {
  color: var(--an-text-muted) !important;
}

/* Table Overrides */
.table {
  color: var(--an-text-primary) !important;
}

.table thead th {
  background-color: var(--an-bg-tertiary) !important;
  border-bottom: 2px solid var(--an-border-medium) !important;
}

.table td,
.table th {
  border-top: 1px solid var(--an-border-light) !important;
}

/* Modal Overrides */
.modal-content {
  background-color: var(--an-bg-secondary) !important;
  border: 1px solid var(--an-border-medium) !important;
}

.modal-header {
  border-bottom: 1px solid var(--an-border-medium) !important;
}

.modal-footer {
  border-top: 1px solid var(--an-border-medium) !important;
}

/* Alert Overrides */
.alert-primary {
  background-color: var(--an-accent-primary-alpha) !important;
  border-color: var(--an-accent-primary) !important;
  color: var(--an-text-primary) !important;
}

.alert-secondary {
  background-color: var(--an-bg-tertiary) !important;
  border-color: var(--an-border-medium) !important;
  color: var(--an-text-primary) !important;
}

/* Badge Overrides */
.badge {
  font-weight: 500 !important;
}

.badge-primary {
  background-color: var(--an-accent-primary) !important;
  color: var(--an-text-primary) !important;
}

.badge-secondary {
  background-color: var(--an-bg-tertiary) !important;
  color: var(--an-text-primary) !important;
}

/* Nav Overrides */
.nav-tabs {
  border-bottom: 1px solid var(--an-border-medium) !important;
}

.nav-tabs .nav-link {
  color: var(--an-text-secondary) !important;
}

.nav-tabs .nav-link:hover {
  border-color: var(--an-border-light) !important;
  color: var(--an-text-primary) !important;
}

.nav-tabs .nav-link.active {
  background-color: var(--an-hover-active) !important;
  border-color: var(--an-border-medium) !important;
  color: var(--an-text-primary) !important;
}

/* Pagination Overrides */
.page-link {
  background-color: var(--an-bg-secondary) !important;
  border-color: var(--an-border-medium) !important;
  color: var(--an-text-primary) !important;
}

.page-link:hover {
  background-color: var(--an-bg-hover) !important;
  border-color: var(--an-border-dark) !important;
  color: var(--an-text-primary) !important;
}

.page-item.active .page-link {
  background-color: var(--an-hover-active) !important;
  border-color: var(--an-accent-primary) !important;
  color: var(--an-text-primary) !important;
}

.form-check-input:checked {
  background-color: var(--an-accent-primary);
  border-color: var(--an-accent-primary);
}

.btn-success {
  --bs-btn-color: var(--an-text-primary);
  --bs-btn-bg: var(--an-success);
  --bs-btn-border-color: var(--an-success);
  --bs-btn-hover-color: var(--an-text-primary);
  --bs-btn-hover-bg: var(--an-success-hover);
  --bs-btn-hover-border-color: var(--an-success-border-hover);
  --bs-btn-focus-shadow-rgb: var(--an-focus-shadow-rgb-success);
  --bs-btn-active-color: var(--an-text-primary);
  --bs-btn-active-bg: var(--an-success-active);
  --bs-btn-active-border-color: var(--an-success-border-active);
  --bs-btn-active-shadow: var(--an-btn-active-shadow);
  --bs-btn-disabled-color: var(--an-text-muted);
  --bs-btn-disabled-bg: var(--an-bg-tertiary);
  --bs-btn-disabled-border-color: var(--an-border-medium);
}

.btn-warning {
  --bs-btn-color: var(--an-bg-primary);
  --bs-btn-bg: var(--an-warning);
  --bs-btn-border-color: var(--an-warning);
  --bs-btn-hover-color: var(--an-bg-primary);
  --bs-btn-hover-bg: var(--an-warning-hover);
  --bs-btn-hover-border-color: var(--an-warning-border-hover);
  --bs-btn-focus-shadow-rgb: var(--an-focus-shadow-rgb-warning);
  --bs-btn-active-color: var(--an-bg-primary);
  --bs-btn-active-bg: var(--an-warning-active);
  --bs-btn-active-border-color: var(--an-warning-border-active);
  --bs-btn-active-shadow: var(--an-btn-active-shadow);
  --bs-btn-disabled-color: var(--an-text-muted);
  --bs-btn-disabled-bg: var(--an-bg-tertiary);
  --bs-btn-disabled-border-color: var(--an-border-medium);
}

.btn-info {
  --bs-btn-color: var(--an-text-primary);
  --bs-btn-bg: var(--an-info);
  --bs-btn-border-color: var(--an-info);
  --bs-btn-hover-color: var(--an-text-primary);
  --bs-btn-hover-bg: var(--an-info-hover);
  --bs-btn-hover-border-color: var(--an-info-border-hover);
  --bs-btn-focus-shadow-rgb: var(--an-focus-shadow-rgb-info);
  --bs-btn-active-color: var(--an-text-primary);
  --bs-btn-active-bg: var(--an-info-active);
  --bs-btn-active-border-color: var(--an-info-border-active);
  --bs-btn-active-shadow: var(--an-btn-active-shadow);
  --bs-btn-disabled-color: var(--an-text-muted);
  --bs-btn-disabled-bg: var(--an-bg-tertiary);
  --bs-btn-disabled-border-color: var(--an-border-medium);
}

.btn-danger {
  --bs-btn-color: var(--an-text-primary);
  --bs-btn-bg: var(--an-danger);
  --bs-btn-border-color: var(--an-danger);
  --bs-btn-hover-color: var(--an-text-primary);
  --bs-btn-hover-bg: var(--an-danger-hover);
  --bs-btn-hover-border-color: var(--an-danger-border-hover);
  --bs-btn-focus-shadow-rgb: var(--an-focus-shadow-rgb-danger);
  --bs-btn-active-color: var(--an-text-primary);
  --bs-btn-active-bg: var(--an-danger-active);
  --bs-btn-active-border-color: var(--an-danger-border-active);
  --bs-btn-active-shadow: var(--an-btn-active-shadow);
  --bs-btn-disabled-color: var(--an-text-muted);
  --bs-btn-disabled-bg: var(--an-bg-tertiary);
  --bs-btn-disabled-border-color: var(--an-border-medium);
}

/* Override the default close button background image with a custom one */
.btn-close {
  opacity: 0.8;
  filter: var(--an-icon-filter, none); /* Use theme filter if defined */
  transition: opacity 0.15s ease-in-out;
}

.btn-close:hover {
  opacity: 1;
  background-color: transparent !important;
}

.btn-close:focus {
  box-shadow: 0 0 0 0.25rem var(--an-shadow-sm);
  opacity: 1;
}

.accordion-button:not(.collapsed) {
  color: var(--an-text-primary);
  background-color: var(--an-bg-tertiary);
}
