/**
 * HT ERP Enterprise Theme - Bootstrap 5.3.8 Overrides
 * ------------------------------------------------------------------
 * این فایل تنها کلاس‌های رسمی Bootstrap را بازنویسی می‌کند.
 * فایل اصلی Bootstrap به هیچ عنوان تغییر داده نشده است.
 * !important فقط در نقاطی استفاده شده که برای غلبه بر specificity کتابخانه لازم است.
 */

/* Bootstrap root variable bridge */
[data-bs-theme="dark"],
[data-bs-theme="light"] {
  --bs-body-font-family: var(--ht-font-family);
  --bs-body-bg: var(--ht-bg);
  --bs-body-color: var(--ht-text);
  --bs-primary: var(--ht-primary);
  --bs-primary-rgb: var(--ht-primary-rgb);
  --bs-border-color: var(--ht-border);
  --bs-secondary-color: var(--ht-text-muted);
  --bs-tertiary-bg: var(--ht-surface-2);
}

/* Native Bootstrap cards */
.card {
  background: linear-gradient(145deg, color-mix(in srgb, var(--ht-surface-2) 92%, transparent), var(--ht-surface-1)) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: var(--ht-radius-lg) !important;
  box-shadow: var(--ht-shadow-sm);
  color: var(--ht-text) !important;
  overflow: hidden;
}

.card-header,
.card-footer {
  background: transparent !important;
  border-color: var(--ht-border) !important;
}

/* Bootstrap form controls */
.form-control,
.form-select {
  min-height: 46px;
  color: var(--ht-text) !important;
  background-color: var(--ht-surface-2) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: var(--ht-radius-sm) !important;
  box-shadow: none !important;
  transition: border-color var(--ht-transition-fast), box-shadow var(--ht-transition-fast), background-color var(--ht-transition-fast);
}

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

.form-control:focus,
.form-select:focus {
  border-color: rgba(var(--ht-primary-rgb), .62) !important;
  box-shadow: 0 0 0 .22rem rgba(var(--ht-primary-rgb), .12) !important;
  background-color: var(--ht-surface-1) !important;
}

.form-check-input {
  background-color: var(--ht-surface-3) !important;
  border-color: var(--ht-border-strong) !important;
}

.form-check-input:checked {
  background-color: var(--ht-primary) !important;
  border-color: var(--ht-primary) !important;
}

.input-group-text {
  color: var(--ht-text-muted) !important;
  background-color: var(--ht-surface-3) !important;
  border-color: var(--ht-border) !important;
}

/* Bootstrap buttons */
.btn {
  border-radius: var(--ht-radius-sm) !important;
  font-weight: 600;
  min-height: 42px;
  transition: transform var(--ht-transition-fast), box-shadow var(--ht-transition-fast), background-color var(--ht-transition-fast);
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: linear-gradient(135deg, var(--ht-primary), var(--ht-primary-strong)) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(var(--ht-primary-rgb), .22);
}

.btn-outline-primary {
  color: var(--ht-primary) !important;
  border-color: rgba(var(--ht-primary-rgb), .45) !important;
}

.btn-outline-primary:hover {
  color: #fff !important;
  background-color: var(--ht-primary) !important;
}

.btn-light {
  color: var(--ht-text) !important;
  background-color: var(--ht-surface-2) !important;
  border-color: var(--ht-border) !important;
}

/* Bootstrap tables */
.table {
  --bs-table-color: var(--ht-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--ht-border);
  --bs-table-striped-bg: color-mix(in srgb, var(--ht-surface-3) 45%, transparent);
  --bs-table-hover-bg: color-mix(in srgb, var(--ht-primary) 8%, transparent);
  margin-bottom: 0;
}

.table > :not(caption) > * > * {
  padding: .95rem .9rem;
  vertical-align: middle;
}

/* Bootstrap dropdown, modal, offcanvas and popover */
.dropdown-menu,
.modal-content,
.offcanvas,
.popover {
  color: var(--ht-text) !important;
  background: var(--ht-surface-1) !important;
  border: 1px solid var(--ht-border) !important;
  border-radius: var(--ht-radius-md) !important;
  box-shadow: var(--ht-shadow-md) !important;
}

.dropdown-item {
  color: var(--ht-text-soft) !important;
  border-radius: 10px;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--ht-text) !important;
  background-color: color-mix(in srgb, var(--ht-primary) 10%, transparent) !important;
}

.modal-header,
.modal-footer,
.offcanvas-header {
  border-color: var(--ht-border) !important;
}

.tooltip .tooltip-inner {
  font-family: var(--ht-font-family);
  color: #fff;
  background-color: #08121f;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  box-shadow: var(--ht-shadow-sm);
}

/* Bootstrap accordion */
.accordion {
  --bs-accordion-bg: transparent;
  --bs-accordion-color: var(--ht-text);
  --bs-accordion-border-color: var(--ht-border);
  --bs-accordion-btn-color: var(--ht-text);
  --bs-accordion-btn-bg: var(--ht-surface-2);
  --bs-accordion-active-color: var(--ht-primary);
  --bs-accordion-active-bg: color-mix(in srgb, var(--ht-primary) 9%, var(--ht-surface-2));
}

.accordion-item {
  border-radius: var(--ht-radius-md) !important;
  overflow: hidden;
  margin-bottom: 10px;
}

/* Bootstrap pagination */
.pagination {
  --bs-pagination-color: var(--ht-text-muted);
  --bs-pagination-bg: var(--ht-surface-2);
  --bs-pagination-border-color: var(--ht-border);
  --bs-pagination-hover-color: var(--ht-text);
  --bs-pagination-hover-bg: var(--ht-surface-3);
  --bs-pagination-hover-border-color: var(--ht-border-strong);
  --bs-pagination-active-bg: var(--ht-primary);
  --bs-pagination-active-border-color: var(--ht-primary);
}

.page-link {
  border-radius: 10px !important;
  margin-inline: 2px;
}

/* Bootstrap badges */
.badge {
  border-radius: 999px !important;
  padding: .48em .75em !important;
  font-weight: 600;
}
