/* * Virio Lift - Custom Bootstrap Theme
 * Modern, sophisticated palette for professional therapy education
 * Navy & Gold with therapeutic teal accents
 * 
 * IMPORTANT: This file should be placed AFTER bootstrap.min.css
 * in your Bootstrap Studio styles list */

:root {
  --bs-primary: #264653 !important;
  --bs-primary-rgb: 38, 70, 83 !important;
  --bs-secondary: #2A9D8F !important;
  --bs-secondary-rgb: 42, 157, 143 !important;
  --bs-success: #52B788 !important;
  --bs-success-rgb: 82, 183, 136 !important;
  --bs-info: #4CC9F0 !important;
  --bs-info-rgb: 76, 201, 240 !important;
  --bs-warning: #F4A261 !important;
  --bs-warning-rgb: 244, 162, 97 !important;
  --bs-danger: #E76F51 !important;
  --bs-danger-rgb: 231, 111, 81 !important;
  --bs-light: #F8F9FA !important;
  --bs-light-rgb: 248, 249, 250 !important;
  --bs-dark: #212A31 !important;
  --bs-dark-rgb: 33, 42, 49 !important;
  --bs-accent: #E9C46A !important;
  --bs-accent-rgb: 233, 196, 106 !important;
  --bs-body-bg: #FAFAFA !important;
  --bs-body-bg-rgb: 250, 250, 250 !important;
  --bs-body-color: #2B2D42 !important;
  --bs-body-color-rgb: 43, 45, 66 !important;
  --bs-gray-100: #F8F9FA !important;
  --bs-gray-200: #E9ECEF !important;
  --bs-gray-300: #DEE2E6 !important;
  --bs-gray-400: #CED4DA !important;
  --bs-gray-500: #ADB5BD !important;
  --bs-gray-600: #6C757D !important;
  --bs-gray-700: #495057 !important;
  --bs-gray-800: #343A40 !important;
  --bs-gray-900: #212A31 !important;
  --bs-link-color: #2A9D8F !important;
  --bs-link-hover-color: #237770 !important;
  --bs-border-color: #DEE2E6 !important;
  --bs-border-radius: 0.5rem !important;
  --bs-border-radius-sm: 0.375rem !important;
  --bs-border-radius-lg: 0.75rem !important;
  --bs-border-radius-xl: 1rem !important;
  --bs-focus-ring-color: rgba(42, 157, 143, 0.25) !important;
  --bs-card-border-color: rgba(38, 70, 83, 0.1) !important;
  --bs-card-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

/* ========================================
   LINKS
   ======================================== */

a {
  color: #2A9D8F;
}

a:hover {
  color: #237770;
}

/* ========================================
   BUTTONS - Primary
   ======================================== */

/* ========================================
   BUTTONS - Primary
   ======================================== */

.btn-primary {
  --bs-btn-bg: #264653 !important;
  --bs-btn-border-color: #264653 !important;
  --bs-btn-hover-bg: #1e3642 !important;
  --bs-btn-hover-border-color: #1a2f38 !important;
  --bs-btn-active-bg: #1a2f38 !important;
  --bs-btn-active-border-color: #16272e !important;
  --bs-btn-color: #fff !important;
  background-color: #264653 !important;
  border-color: #264653 !important;
  color: #fff !important;
}

.btn-primary:hover, .btn-primary:focus {
  background-color: #1e3642 !important;
  border-color: #1a2f38 !important;
  color: #fff !important;
}

.btn-primary:active, .btn-primary.active {
  background-color: #1a2f38 !important;
  border-color: #16272e !important;
  color: #fff !important;
}

/* Outline Primary */

.btn-outline-primary {
  --bs-btn-color: #264653 !important;
  --bs-btn-border-color: #264653 !important;
  --bs-btn-hover-bg: #264653 !important;
  --bs-btn-hover-border-color: #264653 !important;
  --bs-btn-active-bg: #264653 !important;
  color: #264653 !important;
  border-color: #264653 !important;
}

.btn-outline-primary:hover, .btn-outline-primary:focus {
  background-color: #264653 !important;
  border-color: #264653 !important;
  color: #fff !important;
}

/* ========================================
   BUTTONS - Secondary
   ======================================== */

.btn-secondary {
  --bs-btn-bg: #2A9D8F !important;
  --bs-btn-border-color: #2A9D8F !important;
  --bs-btn-hover-bg: #237770 !important;
  --bs-btn-hover-border-color: #206a5e !important;
  --bs-btn-active-bg: #206a5e !important;
  --bs-btn-active-border-color: #1c5d52 !important;
  --bs-btn-color: #fff !important;
  background-color: #2A9D8F !important;
  border-color: #2A9D8F !important;
  color: #fff !important;
}

.btn-secondary:hover, .btn-secondary:focus {
  background-color: #237770 !important;
  border-color: #206a5e !important;
  color: #fff !important;
}

.btn-secondary:active, .btn-secondary.active {
  background-color: #206a5e !important;
  border-color: #1c5d52 !important;
  color: #fff !important;
}

/* Outline Secondary */

.btn-outline-secondary {
  --bs-btn-color: #2A9D8F !important;
  --bs-btn-border-color: #2A9D8F !important;
  --bs-btn-hover-bg: #2A9D8F !important;
  color: #2A9D8F !important;
  border-color: #2A9D8F !important;
}

.btn-outline-secondary:hover, .btn-outline-secondary:focus {
  background-color: #2A9D8F !important;
  border-color: #2A9D8F !important;
  color: #fff !important;
}

/* ========================================
   BUTTON GROUPS
   ======================================== */

/* Make inactive buttons in button groups use outline style */

.btn-group .btn-primary:not(.active) {
  background-color: transparent !important;
  color: #264653 !important;
  border-color: #264653 !important;
}

.btn-group .btn-primary:not(.active):hover {
  background-color: rgba(38, 70, 83, 0.1) !important;
  color: #264653 !important;
  border-color: #264653 !important;
}

.btn-group .btn-primary.active {
  background-color: #264653 !important;
  color: #fff !important;
  border-color: #264653 !important;
}

.btn-group .btn-secondary:not(.active) {
  background-color: transparent !important;
  color: #2A9D8F !important;
  border-color: #2A9D8F !important;
}

.btn-group .btn-secondary:not(.active):hover {
  background-color: rgba(42, 157, 143, 0.1) !important;
  color: #2A9D8F !important;
  border-color: #2A9D8F !important;
}

.btn-group .btn-secondary.active {
  background-color: #2A9D8F !important;
  color: #fff !important;
  border-color: #2A9D8F !important;
}

/* For toggle buttons that use input + label pattern */

.btn-group input[type="radio"]:not(:checked) + .btn-primary {
  background-color: transparent !important;
  color: #264653 !important;
  border-color: #264653 !important;
}

.btn-group input[type="radio"]:checked + .btn-primary {
  background-color: #264653 !important;
  color: #fff !important;
  border-color: #264653 !important;
}

.btn-group input[type="radio"]:not(:checked) + .btn-secondary {
  background-color: transparent !important;
  color: #2A9D8F !important;
  border-color: #2A9D8F !important;
}

.btn-group input[type="radio"]:checked + .btn-secondary {
  background-color: #2A9D8F !important;
  color: #fff !important;
  border-color: #2A9D8F !important;
}

/* ========================================
   BUTTONS - Success, Info, Warning, Danger
   ======================================== */

.btn-success {
  background-color: #52B788 !important;
  border-color: #52B788 !important;
}

.btn-success:hover {
  background-color: #42a877 !important;
  border-color: #3d9e6f !important;
}

.btn-info {
  background-color: #4CC9F0 !important;
  border-color: #4CC9F0 !important;
}

.btn-info:hover {
  background-color: #33c1ed !important;
  border-color: #1fbaea !important;
}

.btn-warning {
  background-color: #F4A261 !important;
  border-color: #F4A261 !important;
  color: #2B2D42 !important;
}

.btn-warning:hover {
  background-color: #f29549 !important;
  border-color: #f18931 !important;
  color: #2B2D42 !important;
}

.btn-danger {
  background-color: #E76F51 !important;
  border-color: #E76F51 !important;
}

.btn-danger:hover {
  background-color: #e35739 !important;
  border-color: #e14d30 !important;
}

/* ========================================
   ACCENT BUTTON (Custom)
   ======================================== */

.btn-accent {
  --bs-btn-color: #2B2D42;
  --bs-btn-bg: #E9C46A;
  --bs-btn-border-color: #E9C46A;
  --bs-btn-hover-bg: #e5bc54;
  --bs-btn-hover-border-color: #e2b648;
  --bs-btn-active-bg: #dfb03c;
  --bs-btn-active-border-color: #dba930;
  background-color: #E9C46A !important;
  border-color: #E9C46A !important;
  color: #2B2D42 !important;
}

.btn-accent:hover, .btn-accent:focus {
  background-color: #e5bc54 !important;
  border-color: #e2b648 !important;
  color: #2B2D42 !important;
}

.btn-accent:active, .btn-accent.active {
  background-color: #dfb03c !important;
  border-color: #dba930 !important;
  color: #2B2D42 !important;
}

/* ========================================
   BACKGROUND COLORS
   ======================================== */

.bg-primary {
  background-color: #264653 !important;
}

.bg-secondary {
  background-color: #2A9D8F !important;
}

.bg-success {
  background-color: #52B788 !important;
}

.bg-info {
  background-color: #4CC9F0 !important;
}

.bg-warning {
  background-color: #F4A261 !important;
}

.bg-danger {
  background-color: #E76F51 !important;
}

.bg-dark {
  background-color: #212A31 !important;
}

.bg-light {
  background-color: #F8F9FA !important;
}

.bg-accent {
  background-color: #E9C46A !important;
  color: #2B2D42 !important;
}

/* Soft backgrounds for sections */

.bg-soft-primary {
  background-color: rgba(38, 70, 83, 0.05) !important;
}

.bg-soft-secondary {
  background-color: rgba(42, 157, 143, 0.05) !important;
}

.bg-soft-accent {
  background-color: rgba(233, 196, 106, 0.1) !important;
}

/* ========================================
   TEXT COLORS
   ======================================== */

.text-primary {
  color: #264653 !important;
}

.text-secondary {
  color: #2A9D8F !important;
}

.text-success {
  color: #52B788 !important;
}

.text-info {
  color: #4CC9F0 !important;
}

.text-warning {
  color: #F4A261 !important;
}

.text-danger {
  color: #E76F51 !important;
}

.text-dark {
  color: #212A31 !important;
}

.text-accent {
  color: #E9C46A !important;
}

/* ========================================
   BORDER COLORS
   ======================================== */

.border-primary {
  border-color: #264653 !important;
}

.border-secondary {
  border-color: #2A9D8F !important;
}

.border-accent {
  border-color: #E9C46A !important;
}

/* Card Enhancements */

.card {
  border-color: var(--bs-card-border-color);
  box-shadow: var(--bs-card-box-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

/* ========================================
   BADGES
   ======================================== */

.badge {
  font-weight: 600;
  padding: 0.35em 0.65em;
}

.badge.bg-primary, .badge.badge-primary {
  background-color: #264653 !important;
}

.badge.bg-secondary, .badge.badge-secondary {
  background-color: #2A9D8F !important;
}

/* ========================================
   PROGRESS BARS
   ======================================== */

.progress-bar {
  background-color: #2A9D8F !important;
}

.progress-bar-primary {
  background-color: #264653 !important;
}

.progress-bar-secondary {
  background-color: #2A9D8F !important;
}

.progress-bar-success {
  background-color: #52B788 !important;
}

.progress-bar-info {
  background-color: #4CC9F0 !important;
}

.progress-bar-warning {
  background-color: #F4A261 !important;
}

.progress-bar-danger {
  background-color: #E76F51 !important;
}

/* Table Enhancements */

.table {
  --bs-table-striped-bg: rgba(42, 157, 143, 0.05);
  --bs-table-hover-bg: rgba(42, 157, 143, 0.075);
}

/* ========================================
   DROPDOWNS
   ======================================== */

.dropdown-item.active, .dropdown-item:active {
  background-color: #2A9D8F !important;
  color: #fff !important;
}

.dropdown-item:hover, .dropdown-item:focus {
  background-color: rgba(42, 157, 143, 0.1);
  color: #237770;
}

/* ========================================
   FORM CONTROLS
   ======================================== */

.form-control:focus, .form-select:focus, .form-check-input:focus {
  border-color: #2A9D8F !important;
  box-shadow: 0 0 0 0.25rem rgba(42, 157, 143, 0.25) !important;
}

.form-check-input:checked {
  background-color: #2A9D8F !important;
  border-color: #2A9D8F !important;
}

/* ========================================
   ALERTS
   ======================================== */

.alert-primary {
  --bs-alert-bg: rgba(38, 70, 83, 0.1) !important;
  --bs-alert-border-color: rgba(38, 70, 83, 0.2) !important;
  --bs-alert-color: #264653 !important;
  background-color: rgba(38, 70, 83, 0.1) !important;
  border-color: rgba(38, 70, 83, 0.2) !important;
  color: #264653 !important;
}

.alert-secondary {
  --bs-alert-bg: rgba(42, 157, 143, 0.1) !important;
  --bs-alert-border-color: rgba(42, 157, 143, 0.2) !important;
  --bs-alert-color: #237770 !important;
  background-color: rgba(42, 157, 143, 0.1) !important;
  border-color: rgba(42, 157, 143, 0.2) !important;
  color: #237770 !important;
}

.alert-success {
  background-color: rgba(82, 183, 136, 0.1) !important;
  border-color: rgba(82, 183, 136, 0.2) !important;
  color: #2e7756 !important;
}

.alert-info {
  background-color: rgba(76, 201, 240, 0.1) !important;
  border-color: rgba(76, 201, 240, 0.2) !important;
  color: #2376a3 !important;
}

.alert-warning {
  background-color: rgba(244, 162, 97, 0.1) !important;
  border-color: rgba(244, 162, 97, 0.2) !important;
  color: #a86523 !important;
}

.alert-danger {
  background-color: rgba(231, 111, 81, 0.1) !important;
  border-color: rgba(231, 111, 81, 0.2) !important;
  color: #9c2e1e !important;
}

/* ========================================
   NAVIGATION
   ======================================== */

.navbar-light {
  --bs-navbar-color: rgba(43, 45, 66, 0.7);
  --bs-navbar-hover-color: #264653;
  --bs-navbar-active-color: #264653;
  --bs-navbar-brand-color: #264653;
  --bs-navbar-brand-hover-color: #1e3642;
}

.navbar-light .navbar-nav .nav-link {
  color: rgba(43, 45, 66, 0.7);
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
  color: #264653;
}

.navbar-light .navbar-nav .nav-link.active {
  color: #264653 !important;
}

.navbar-dark {
  --bs-navbar-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-hover-color: rgba(233, 196, 106, 1);
  --bs-navbar-active-color: #E9C46A;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #E9C46A;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.75);
}

.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
  color: #E9C46A;
}

.navbar-dark .navbar-nav .nav-link.active {
  color: #E9C46A !important;
}

/* Nav Pills */

.nav-pills .nav-link.active {
  background-color: #264653 !important;
}

.nav-pills .nav-link:hover {
  background-color: rgba(42, 157, 143, 0.1);
}

/* ========================================
   CHARTS & DATA VISUALIZATION
   ======================================== */

/* Chart.js color overrides */

:root {
  --chart-color-primary: #264653;
  --chart-color-secondary: #2A9D8F;
  --chart-color-success: #52B788;
  --chart-color-info: #4CC9F0;
  --chart-color-warning: #F4A261;
  --chart-color-danger: #E76F51;
  --chart-color-accent: #E9C46A;
  --chart-color-1: #264653;
  --chart-color-2: #2A9D8F;
  --chart-color-3: #52B788;
  --chart-color-4: #E9C46A;
  --chart-color-5: #F4A261;
  --chart-color-6: #E76F51;
  --chart-color-7: #4CC9F0;
}

/* If you're using inline SVG charts or specific chart classes */

.chart-primary {
  fill: #264653;
  color: #264653;
}

.chart-secondary {
  fill: #2A9D8F;
  color: #2A9D8F;
}

/* ========================================
   PAGINATION
   ======================================== */

.pagination {
  --bs-pagination-active-bg: #264653 !important;
  --bs-pagination-active-border-color: #264653 !important;
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(42, 157, 143, 0.25) !important;
}

.page-link {
  color: #2A9D8F;
}

.page-link:hover {
  color: #237770;
  background-color: rgba(42, 157, 143, 0.1);
}

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

/* ========================================
   LIST GROUP
   ======================================== */

.list-group-item.active {
  background-color: #264653 !important;
  border-color: #264653 !important;
  color: #fff !important;
}

.list-group-item-primary {
  background-color: rgba(38, 70, 83, 0.1) !important;
  color: #264653 !important;
}

.list-group-item-secondary {
  background-color: rgba(42, 157, 143, 0.1) !important;
  color: #237770 !important;
}

/* Dropdown */

.dropdown-item.active, .dropdown-item:active {
  background-color: #2A9D8F;
}

/* Additional Utilities */

.border-primary {
  border-color: #264653 !important;
}

.border-secondary {
  border-color: #2A9D8F !important;
}

.border-accent {
  border-color: #E9C46A !important;
}

/* ========================================
   CARDS - Enhanced
   ======================================== */

.card {
  border-color: rgba(38, 70, 83, 0.1) !important;
}

.card-header {
  background-color: rgba(38, 70, 83, 0.03);
  border-bottom-color: rgba(38, 70, 83, 0.1);
}

/* ========================================
   TABLES - Enhanced
   ======================================== */

.table-primary {
  --bs-table-bg: rgba(38, 70, 83, 0.1);
  --bs-table-color: #264653;
}

.table-secondary {
  --bs-table-bg: rgba(42, 157, 143, 0.1);
  --bs-table-color: #237770;
}

/* ========================================
   MODALS
   ======================================== */

.modal-header {
  border-bottom-color: rgba(38, 70, 83, 0.1);
}

.modal-footer {
  border-top-color: rgba(38, 70, 83, 0.1);
}

/* ========================================
   TABS
   ======================================== */

.nav-tabs .nav-link.active {
  color: #264653 !important;
  border-color: #264653 #264653 #fff !important;
}

.nav-tabs .nav-link:hover {
  border-color: rgba(42, 157, 143, 0.1);
  color: #2A9D8F;
}

/* ========================================
   ACCORDION
   ======================================== */

.accordion-button:not(.collapsed) {
  background-color: rgba(38, 70, 83, 0.05);
  color: #264653 !important;
}

.accordion-button:focus {
  border-color: #2A9D8F;
  box-shadow: 0 0 0 0.25rem rgba(42, 157, 143, 0.25);
}

/* ========================================
   TOOLTIPS & POPOVERS
   ======================================== */

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

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

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

/* ========================================
   SPINNERS
   ======================================== */

.spinner-border {
  color: #2A9D8F !important;
}

.spinner-border-primary {
  color: #264653 !important;
}

.spinner-border-secondary {
  color: #2A9D8F !important;
}

/* ========================================
   OFFCANVAS
   ======================================== */

.offcanvas-header {
  border-bottom-color: rgba(38, 70, 83, 0.1);
}

/* ========================================
   TOAST
   ======================================== */

.toast-header {
  background-color: rgba(38, 70, 83, 0.03);
  border-bottom-color: rgba(38, 70, 83, 0.1);
}

/* ========================================
   BREADCRUMB
   ======================================== */

.breadcrumb-item.active {
  color: #264653;
}

.breadcrumb-item a {
  color: #2A9D8F;
}

.breadcrumb-item a:hover {
  color: #237770;
}

