/* SSTrade Custom Theme - Logo Color Scheme */
/* Golden theme based on logo colors: #f0d844, #e18811, #acb0b6 */

:root {
  /* Primary Golden Colors from Logo */
  --sstrade-primary: #f0d844;
  --sstrade-primary-dark: #e18811;
  --sstrade-secondary: #acb0b6;
  --sstrade-accent: #d4af37;

  /* Override Material Dashboard Variables */
  --bs-primary: #f0d844;
  --bs-primary-rgb: 240, 216, 68;
  --bs-secondary: #acb0b6;
  --bs-secondary-rgb: 172, 176, 182;
  --bs-warning: #e18811;
  --bs-warning-rgb: 225, 136, 17;

  /* Golden Gradient Combinations */
  --sstrade-gradient-primary: linear-gradient(195deg, #f0d844 0%, #e18811 100%);
  --sstrade-gradient-secondary: linear-gradient(195deg, #acb0b6 0%, #8a8f96 100%);
  --sstrade-gradient-accent: linear-gradient(195deg, #d4af37 0%, #b8941f 100%);

  /* Text Colors */
  --sstrade-text-primary: #2c2c2c;
  --sstrade-text-secondary: #6c757d;
  --sstrade-text-muted: #8a8f96;
}

/* Override Primary Colors */
.bg-primary {
  background-color: var(--sstrade-primary) !important;
}

.bg-secondary {
  background-color: var(--sstrade-secondary) !important;
}

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

.text-primary {
  color: var(--sstrade-primary-dark) !important;
}

.text-secondary {
  color: var(--sstrade-secondary) !important;
}

/* Override Gradient Backgrounds */
.bg-gradient-primary {
  background-image: var(--sstrade-gradient-primary) !important;
}

.bg-gradient-secondary {
  background-image: var(--sstrade-gradient-secondary) !important;
}

.bg-gradient-warning {
  background-image: var(--sstrade-gradient-accent) !important;
}

/* Button Overrides */
.btn-primary,
.btn.bg-gradient-primary {
  background-image: var(--sstrade-gradient-primary);
  border-color: var(--sstrade-primary);
  color: #2c2c2c;
  font-weight: 600;
  box-shadow: 0 3px 3px 0 rgba(240, 216, 68, 0.15), 0 3px 1px -2px rgba(240, 216, 68, 0.2), 0 1px 5px 0 rgba(240, 216, 68, 0.15);
}

.btn-primary:hover,
.btn.bg-gradient-primary:hover {
  background-image: linear-gradient(195deg, #e18811 0%, #d4af37 100%);
  border-color: var(--sstrade-primary-dark);
  color: #fff;
  box-shadow: 0 14px 26px -12px rgba(225, 136, 17, 0.4), 0 4px 23px 0 rgba(225, 136, 17, 0.15), 0 8px 10px -5px rgba(225, 136, 17, 0.2);
  transform: translateY(-1px);
}

.btn-secondary,
.btn.bg-gradient-secondary {
  background-image: var(--sstrade-gradient-secondary);
  border-color: var(--sstrade-secondary);
  color: #fff;
  font-weight: 600;
}

.btn-secondary:hover,
.btn.bg-gradient-secondary:hover {
  background-image: linear-gradient(195deg, #8a8f96 0%, #6c757d 100%);
  border-color: #8a8f96;
  color: #fff;
}

.btn-warning,
.btn.bg-gradient-warning {
  background-image: var(--sstrade-gradient-accent);
  border-color: var(--sstrade-accent);
  color: #2c2c2c;
  font-weight: 600;
}

.btn-warning:hover,
.btn.bg-gradient-warning:hover {
  background-image: linear-gradient(195deg, #b8941f 0%, #9a7b1a 100%);
  border-color: #b8941f;
  color: #fff;
}

/* Form Control Focus States */
.form-control:focus {
  border-color: var(--sstrade-primary);
  box-shadow: 0 0 0 0.2rem rgba(240, 216, 68, 0.25);
}

.form-select:focus {
  border-color: var(--sstrade-primary);
  box-shadow: 0 0 0 0.2rem rgba(240, 216, 68, 0.25);
}

/* Input Group Outline Focus */
.input-group-outline.is-focused {
  border-color: var(--sstrade-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(240, 216, 68, 0.25);
}

.input-group-outline.is-focused label.form-label {
  color: var(--sstrade-primary-dark) !important;
}

/* Card Header Overrides */
.card-header .bg-gradient-primary {
  background-image: var(--sstrade-gradient-primary) !important;
}

.card-header .bg-gradient-secondary {
  background-image: var(--sstrade-gradient-secondary) !important;
}

.card-header .bg-gradient-warning {
  background-image: var(--sstrade-gradient-accent) !important;
}

/* Badge Overrides */
.badge.bg-gradient-primary {
  background-image: var(--sstrade-gradient-primary) !important;
  color: #2c2c2c !important;
}

.badge.bg-gradient-secondary {
  background-image: var(--sstrade-gradient-secondary) !important;
  color: #fff !important;
}

.badge.bg-gradient-warning {
  background-image: var(--sstrade-gradient-accent) !important;
  color: #2c2c2c !important;
}

/* Sidebar Navigation Overrides */
.navbar-vertical .navbar-nav > .nav-item .nav-link.active {
  background-image: var(--sstrade-gradient-primary) !important;
  color: #2c2c2c !important;
}

.navbar-vertical .navbar-nav > .nav-item .nav-link.active + .collapse .nav-item.active .nav-link.active,
.navbar-vertical .navbar-nav > .nav-item .nav-link.active + .collapsing .nav-item.active .nav-link.active {
  background-image: var(--sstrade-gradient-primary) !important;
  color: #2c2c2c !important;
}

/* Sidenav Color Overrides */
.sidenav[data-color="primary"] .navbar-nav > .nav-item .nav-link.active + .collapse .nav-item.active .nav-link.active,
.sidenav[data-color="primary"] .navbar-nav > .nav-item .nav-link.active + .collapsing .nav-item.active .nav-link.active {
  background-image: var(--sstrade-gradient-primary) !important;
}

/* Alert Overrides */
.alert-primary {
  background-image: var(--sstrade-gradient-primary) !important;
  color: #2c2c2c !important;
}

.alert-secondary {
  background-image: var(--sstrade-gradient-secondary) !important;
  color: #fff !important;
}

.alert-warning {
  background-image: var(--sstrade-gradient-accent) !important;
  color: #2c2c2c !important;
}

/* Pagination Overrides */
.pagination.pagination-primary .page-item.active > .page-link,
.pagination.pagination-primary .page-item.active > .page-link:focus,
.pagination.pagination-primary .page-item.active > .page-link:hover {
  background-image: var(--sstrade-gradient-primary) !important;
  border: none;
  color: #2c2c2c !important;
}

.pagination.pagination-warning .page-item.active > .page-link,
.pagination.pagination-warning .page-item.active > .page-link:focus,
.pagination.pagination-warning .page-item.active > .page-link:hover {
  background-image: var(--sstrade-gradient-accent) !important;
  border: none;
  color: #2c2c2c !important;
}

/* Text Gradient Overrides */
.text-gradient.text-primary {
  background-image: var(--sstrade-gradient-primary) !important;
}

.text-gradient.text-warning {
  background-image: var(--sstrade-gradient-accent) !important;
}

/* Icon Shape Overrides */
.icon-shape.bg-gradient-primary {
  background-image: var(--sstrade-gradient-primary) !important;
}

.icon-shape.bg-gradient-secondary {
  background-image: var(--sstrade-gradient-secondary) !important;
}

.icon-shape.bg-gradient-warning {
  background-image: var(--sstrade-gradient-accent) !important;
}

/* Card Background Mask Overrides */
.card.card-background.card-background-mask-primary:after {
  background-image: var(--sstrade-gradient-primary) !important;
  opacity: .85;
}

.card.card-background.card-background-mask-warning:after {
  background-image: var(--sstrade-gradient-accent) !important;
  opacity: .85;
}

/* Blur Section Overrides */
.blur-section.blur-gradient-primary {
  background-image: linear-gradient(195deg, rgba(240, 216, 68, 0.95) 0%, rgba(225, 136, 17, 0.95) 100%) !important;
}

/* Faded Gradient Overrides */
.bg-gradient-faded-primary {
  background-image: radial-gradient(370px circle at 80% 50%, rgba(240, 216, 68, 0.6) 0, rgba(225, 136, 17, 0.8) 100%) !important;
}

.bg-gradient-faded-warning {
  background-image: radial-gradient(370px circle at 80% 50%, rgba(212, 175, 55, 0.6) 0, rgba(184, 148, 31, 0.8) 100%) !important;
}

.bg-gradient-faded-primary-vertical {
  background-image: radial-gradient(200px circle at 50% 70%, rgba(240, 216, 68, 0.3) 0, rgba(225, 136, 17, 0.9) 100%) !important;
}

.bg-gradient-faded-warning-vertical {
  background-image: radial-gradient(200px circle at 50% 70%, rgba(212, 175, 55, 0.3) 0, rgba(184, 148, 31, 0.9) 100%) !important;
}

/* Custom Golden Accents */
.golden-accent {
  color: var(--sstrade-primary-dark) !important;
}

.golden-bg {
  background-color: var(--sstrade-primary) !important;
  color: #2c2c2c !important;
}

.golden-border {
  border-color: var(--sstrade-primary) !important;
}

.golden-gradient {
  background-image: var(--sstrade-gradient-primary) !important;
  color: #2c2c2c !important;
}

/* Link Overrides */
a {
  color: var(--sstrade-primary-dark);
}

a:hover {
  color: var(--sstrade-accent);
}

/* Dropdown Menu Overrides */
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: rgba(240, 216, 68, 0.1);
  color: var(--sstrade-primary-dark);
}

/* Table Hover Effects */
.table-hover tbody tr:hover {
  background-color: rgba(240, 216, 68, 0.05);
}

/* Progress Bar Overrides */
.progress-bar {
  background-image: var(--sstrade-gradient-primary) !important;
}

/* Custom Scrollbar for Golden Theme */
::-webkit-scrollbar-thumb {
  background: var(--sstrade-gradient-primary) !important;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--sstrade-gradient-accent) !important;
}

/* Loading Spinner Override */
.spinner-border-primary {
  border-color: var(--sstrade-primary);
  border-right-color: transparent;
}

/* Toast Notifications */
.toast-primary {
  background-image: var(--sstrade-gradient-primary) !important;
  color: #2c2c2c !important;
}

/* Custom Golden Shadows */
.shadow-primary {
  box-shadow: 0 4px 20px 0 rgba(240, 216, 68, 0.14), 0 7px 10px -5px rgba(240, 216, 68, 0.4) !important;
}

.shadow-warning {
  box-shadow: 0 4px 20px 0 rgba(212, 175, 55, 0.14), 0 7px 10px -5px rgba(212, 175, 55, 0.4) !important;
}

/* Mobile Responsive Golden Theme */
@media (max-width: 768px) {
  .btn-primary,
  .btn.bg-gradient-primary {
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
  }

  .card-header .bg-gradient-primary {
    padding: 1rem;
  }

  .navbar-vertical .navbar-nav > .nav-item .nav-link.active {
    margin: 0.25rem 0;
    border-radius: 0.5rem;
  }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  :root {
    --sstrade-primary: #d4af37;
    --sstrade-primary-dark: #b8941f;
  }

  .btn-primary,
  .btn.bg-gradient-primary {
    border: 2px solid #2c2c2c;
  }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
  :root {
    --sstrade-text-primary: #f8f9fa;
    --sstrade-text-secondary: #dee2e6;
  }

  .btn-primary,
  .btn.bg-gradient-primary {
    color: #2c2c2c;
  }

  .btn-primary:hover,
  .btn.bg-gradient-primary:hover {
    color: #fff;
  }
}
