/* DrVet Brand Color Override CSS
   This file should be loaded AFTER all other CSS files to ensure proper overrides
   Brand Colors: 
   - Primary: #0059A6 (Deep Blue)
   - Secondary: #00BBA3 (Teal)
   - Accent 1: #6A97ED (Light Blue)
   - Accent 2: #EDC7D3 (Light Pink)
*/

/* ========================================
   1. ROOT VARIABLES & COLOR SYSTEM
   ======================================== */
:root {
  /* Primary Brand Colors */
  --bs-primary: #0059A6 !important;
  --bs-secondary: #00BBA3 !important;
  --bs-info: #6A97ED !important;
  --bs-pink: #EDC7D3 !important;
  
  --brand-primary: #0059A6 !important;
  --brand-secondary: #00BBA3 !important;
  --brand-accent-1: #6A97ED !important;
  --brand-accent-2: #EDC7D3 !important;
  
  /* RGB Values for opacity variations */
  --bs-primary-rgb: 0, 89, 166 !important;
  --bs-secondary-rgb: 0, 187, 163 !important;
  --brand-accent-1-rgb: 106, 151, 237 !important;
  --brand-accent-2-rgb: 237, 199, 211 !important;
  
  /* Gradient Definitions */
  --brand-gradient-primary: linear-gradient(135deg, #0059A6 0%, #00BBA3 100%) !important;
  --brand-gradient-secondary: linear-gradient(135deg, #00BBA3 0%, #6A97ED 100%) !important;
  --brand-gradient-accent: linear-gradient(135deg, #6A97ED 0%, #EDC7D3 100%) !important;
  
  /* Text Colors */
  --bs-body-color: #1F2937 !important;
  --text-primary: #0059A6 !important;
  --text-secondary: #00BBA3 !important;
  
  /* Background Variations */
  --bs-primary-bg-subtle: rgba(0, 89, 166, 0.08) !important;
  --bs-secondary-bg-subtle: rgba(0, 187, 163, 0.08) !important;
  
  /* Border Colors */
  --bs-primary-border-subtle: rgba(0, 89, 166, 0.16) !important;
  --bs-secondary-border-subtle: rgba(0, 187, 163, 0.16) !important;
}

/* Dark Mode Color Overrides */
[data-bs-theme="dark"] {
  --bs-primary: #0059A6 !important;
  --bs-secondary: #00BBA3 !important;
  --text-primary: #6A97ED !important;
  --text-secondary: #00BBA3 !important;
}

/* ========================================
   2. BUTTON STYLES
   ======================================== */
   
/* Primary Button */
.btn-primary {
  background-color: #0059A6 !important;
  border-color: #0059A6 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px 0 rgba(0, 89, 166, 0.25) !important;
  transition: all 0.3s ease !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background-color: #004580 !important;
  border-color: #004580 !important;
  box-shadow: 0 6px 20px 0 rgba(0, 89, 166, 0.35) !important;
  transform: translateY(-1px);
}

/* Secondary Button */
.btn-secondary {
  background-color: #00BBA3 !important;
  border-color: #00BBA3 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px 0 rgba(0, 187, 163, 0.25) !important;
  transition: all 0.3s ease !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-secondary.active {
  background-color: #009982 !important;
  border-color: #009982 !important;
  box-shadow: 0 6px 20px 0 rgba(0, 187, 163, 0.35) !important;
  transform: translateY(-1px);
}

/* Info Button (Light Blue Accent) */
.btn-info {
  background-color: #6A97ED !important;
  border-color: #6A97ED !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px 0 rgba(106, 151, 237, 0.25) !important;
  transition: all 0.3s ease !important;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active {
  background-color: #5279d4 !important;
  border-color: #5279d4 !important;
  box-shadow: 0 6px 20px 0 rgba(106, 151, 237, 0.35) !important;
  transform: translateY(-1px);
}

/* Soft Button Variants */
.btn-soft-primary {
  background-color: rgba(0, 89, 166, 0.1) !important;
  border-color: transparent !important;
  color: #0059A6 !important;
  transition: all 0.3s ease !important;
}

.btn-soft-primary:hover {
  background-color: rgba(0, 89, 166, 0.2) !important;
  color: #004580 !important;
}

.btn-soft-secondary {
  background-color: rgba(0, 187, 163, 0.1) !important;
  border-color: transparent !important;
  color: #00BBA3 !important;
  transition: all 0.3s ease !important;
}

.btn-soft-secondary:hover {
  background-color: rgba(0, 187, 163, 0.2) !important;
  color: #009982 !important;
}

.btn-soft-info {
  background-color: rgba(106, 151, 237, 0.1) !important;
  border-color: transparent !important;
  color: #6A97ED !important;
  transition: all 0.3s ease !important;
}

.btn-soft-info:hover {
  background-color: rgba(106, 151, 237, 0.2) !important;
  color: #5279d4 !important;
}

/* Button Border Variants */
.btn-border {
  background-color: transparent !important;
  border-width: 1px !important;
  transition: all 0.3s ease !important;
}

.btn-border.btn-primary {
  border-color: #0059A6 !important;
  color: #0059A6 !important;
}

.btn-border.btn-primary:hover {
  background-color: #0059A6 !important;
  color: #ffffff !important;
}

.btn-border.btn-secondary {
  border-color: #00BBA3 !important;
  color: #00BBA3 !important;
}

.btn-border.btn-secondary:hover {
  background-color: #00BBA3 !important;
  color: #ffffff !important;
}

/* Cancel/Return Button Fix */
.btn-soft-warning {
  background-color: rgba(106, 151, 237, 0.1) !important;
  border-color: transparent !important;
  color: #6A97ED !important;
}

.btn-soft-warning:hover {
  background-color: rgba(106, 151, 237, 0.2) !important;
  color: #5279d4 !important;
}

/* ========================================
   3. NAVIGATION & SIDEBAR
   ======================================== */

/* Sidebar Active State */
.iq-sidebar .nav-item.active > .nav-link,
.iq-sidebar .nav-item:hover > .nav-link {
  background: linear-gradient(135deg, #0059A6 0%, #00BBA3 100%) !important;
  color: #ffffff !important;
  border-radius: 8px;
  transform: translateX(4px);
  transition: all 0.3s ease;
}

/* Sidebar Hover State */
.iq-sidebar .nav-link:hover {
  color: #0059A6 !important;
  background-color: rgba(0, 89, 166, 0.08) !important;
}

/* Navbar Brand Gradient */
.navbar-brand {
  background: linear-gradient(135deg, #0059A6 0%, #00BBA3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Header/Top Navigation */
.iq-navbar {
  background: linear-gradient(135deg, #0059A6 0%, #00BBA3 10%, #ffffff 10%) !important;
}

/* Breadcrumb Active Color */
.breadcrumb-item.active {
  color: #0059A6 !important;
}

/* ========================================
   4. FORM COMPONENTS
   ======================================== */

/* Form Control Focus State */
.form-control:focus,
.form-select:focus {
  border-color: #00BBA3 !important;
  box-shadow: 0 0 0 0.25rem rgba(0, 187, 163, 0.25) !important;
}

/* Checkbox & Radio */
.form-check-input:checked {
  background-color: #0059A6 !important;
  border-color: #0059A6 !important;
}

.form-check-input:focus {
  border-color: #00BBA3 !important;
  box-shadow: 0 0 0 0.25rem rgba(0, 187, 163, 0.25) !important;
}

/* Switch Component */
.form-switch .form-check-input:checked {
  background-color: #0059A6 !important;
  border-color: #0059A6 !important;
}

/* Select2 Customization */
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus {
  border-color: #00BBA3 !important;
  box-shadow: 0 0 0 0.25rem rgba(0, 187, 163, 0.25) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #0059A6 !important;
  color: #ffffff !important;
}

.select2-container--default .select2-selection__choice {
  background-color: #6A97ED !important;
  border-color: #6A97ED !important;
  color: #ffffff !important;
}

/* Input Group */
.input-group-text {
  background-color: rgba(0, 89, 166, 0.08) !important;
  border-color: rgba(0, 89, 166, 0.16) !important;
  color: #0059A6 !important;
}

/* ========================================
   5. CARDS & COMPONENTS
   ======================================== */

/* Card Headers */
.card-header {
  background-color: rgba(0, 89, 166, 0.04) !important;
  border-bottom-color: rgba(0, 89, 166, 0.1) !important;
}

/* Badges */
.badge.bg-primary {
  background: linear-gradient(135deg, #0059A6 0%, #00BBA3 100%) !important;
}

.badge.bg-secondary {
  background-color: #00BBA3 !important;
}

.badge.bg-info {
  background-color: #6A97ED !important;
}

/* Progress Bars */
.progress-bar {
  background: linear-gradient(135deg, #0059A6 0%, #00BBA3 100%) !important;
}

/* ========================================
   6. TABLES
   ======================================== */

.table-hover > tbody > tr:hover {
  background-color: rgba(0, 89, 166, 0.04) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: rgba(0, 89, 166, 0.02) !important;
}

/* ========================================
   7. ALERTS & NOTIFICATIONS
   ======================================== */

.alert-primary {
  background-color: rgba(0, 89, 166, 0.1) !important;
  border-color: rgba(0, 89, 166, 0.2) !important;
  color: #0059A6 !important;
}

.alert-secondary {
  background-color: rgba(0, 187, 163, 0.1) !important;
  border-color: rgba(0, 187, 163, 0.2) !important;
  color: #00BBA3 !important;
}

.alert-info {
  background-color: rgba(106, 151, 237, 0.1) !important;
  border-color: rgba(106, 151, 237, 0.2) !important;
  color: #6A97ED !important;
}

/* ========================================
   8. PAGINATION
   ======================================== */

.page-link {
  color: #0059A6 !important;
}

.page-link:hover {
  background-color: rgba(0, 89, 166, 0.08) !important;
  color: #004580 !important;
}

.page-item.active .page-link {
  background-color: #0059A6 !important;
  border-color: #0059A6 !important;
  color: #ffffff !important;
}

/* ========================================
   9. TOOLTIPS & POPOVERS
   ======================================== */

.tooltip-inner {
  background-color: #0059A6 !important;
}

.tooltip.bs-tooltip-top .tooltip-arrow::before,
.tooltip.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  border-top-color: #0059A6 !important;
}

/* ========================================
   10. MISC COMPONENTS
   ======================================== */

/* Links */
a {
  color: #0059A6 !important;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #004580 !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #0059A6 0%, #00BBA3 100%) !important;
}

/* Selection Color */
::selection {
  background-color: rgba(0, 89, 166, 0.2) !important;
  color: #0059A6 !important;
}

/* Focus Visible */
:focus-visible {
  outline-color: #00BBA3 !important;
}

/* Dropdown Menu */
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: rgba(0, 89, 166, 0.08) !important;
  color: #0059A6 !important;
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: #0059A6 !important;
  color: #ffffff !important;
}

/* Modal Headers */
.modal-header {
  background-color: rgba(0, 89, 166, 0.04) !important;
  border-bottom-color: rgba(0, 89, 166, 0.1) !important;
}

/* Offcanvas Header */
.offcanvas-header {
  background-color: rgba(0, 89, 166, 0.04) !important;
  border-bottom-color: rgba(0, 89, 166, 0.1) !important;
}

/* Custom Classes for Brand Colors */
.text-brand-primary { color: #0059A6 !important; }
.text-brand-secondary { color: #00BBA3 !important; }
.text-brand-accent-1 { color: #6A97ED !important; }
.text-brand-accent-2 { color: #EDC7D3 !important; }

.bg-brand-primary { background-color: #0059A6 !important; }
.bg-brand-secondary { background-color: #00BBA3 !important; }
.bg-brand-accent-1 { background-color: #6A97ED !important; }
.bg-brand-accent-2 { background-color: #EDC7D3 !important; }

.border-brand-primary { border-color: #0059A6 !important; }
.border-brand-secondary { border-color: #00BBA3 !important; }
.border-brand-accent-1 { border-color: #6A97ED !important; }
.border-brand-accent-2 { border-color: #EDC7D3 !important; }

/* Gradient Utilities */
.bg-gradient-brand {
  background: linear-gradient(135deg, #0059A6 0%, #00BBA3 100%) !important;
}

.bg-gradient-brand-reverse {
  background: linear-gradient(135deg, #00BBA3 0%, #0059A6 100%) !important;
}

.bg-gradient-accent {
  background: linear-gradient(135deg, #6A97ED 0%, #EDC7D3 100%) !important;
}