:root {
  --primary-color: #1769aa;
  --secondary-color: #ffcf3c;
  --accent-color: #28a745;
  --background-color: #f8f9fa;
  --text-color: #333333;
  --primary-color-rgb: 23, 105, 170;
  --secondary-color-rgb: 255, 207, 60;
  --accent-color-rgb: 40, 167, 69;
  --background-color-rgb: 248, 249, 250;
  --text-color-rgb: 51, 51, 51;
}


/* Theme-aware button styles */
.btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

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

.btn-secondary {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: var(--text-color) !important;
}

.btn-outline-primary {
    color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

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

/* Theme-aware text colors */
.text-primary {
    color: var(--primary-color) !important;
}

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

/* Theme-aware background colors */
.bg-primary {
    background-color: var(--primary-color) !important;
}

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

/* Theme-aware borders */
.border-primary {
    border-color: var(--primary-color) !important;
}

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

/* Theme-aware links */
a {
    color: var(--primary-color);
}

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

/* Theme-aware cards */
.card-header {
    background-color: var(--primary-color);
    color: white;
}

/* Theme-aware form controls */
.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(var(--primary-color-rgb, 23, 105, 170), 0.25);
}

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

/* Theme-aware badges */
.badge.bg-primary {
    background-color: var(--primary-color) !important;
}

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

/* Theme-aware alerts */
.alert-primary {
    color: var(--primary-color);
    background-color: rgba(var(--primary-color-rgb, 23, 105, 170), 0.1);
    border-color: rgba(var(--primary-color-rgb, 23, 105, 170), 0.2);
}

/* Theme-aware progress bars */
.progress-bar {
    background-color: var(--primary-color);
}

/* Theme-aware pagination */
.page-link {
    color: var(--primary-color);
}

.page-link:hover {
    color: var(--accent-color);
    background-color: rgba(var(--primary-color-rgb, 23, 105, 170), 0.1);
}

.page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Theme-aware tables */
.table-primary {
    background-color: rgba(var(--primary-color-rgb, 23, 105, 170), 0.1);
}

/* Theme-aware spinners */
.spinner-border-primary {
    color: var(--primary-color);
}

/* Theme-aware dropdowns */
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(var(--primary-color-rgb, 23, 105, 170), 0.1);
}

.dropdown-item.active {
    background-color: var(--primary-color);
}

/* Theme-aware modals */
.modal-header {
    background-color: var(--primary-color);
    color: white;
}

/* Theme-aware navbar brand */
.navbar-brand:hover {
    color: var(--secondary-color) !important;
}

/* Theme-aware carousel indicators */
.carousel-indicators [data-bs-target] {
    background-color: var(--secondary-color);
}

/* Theme-aware carousel controls */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: brightness(0) saturate(100%) invert(1);
}

/* Theme-aware project cards */
.project-card:hover {
    border-color: var(--primary-color);
    box-shadow: 0 4px 20px rgba(var(--primary-color-rgb, 23, 105, 170), 0.2);
}

/* Theme-aware contact form */
.contact-form {
    border-left-color: var(--primary-color) !important;
}

/* Theme-aware icons */
.bi.text-primary {
    color: var(--primary-color) !important;
}

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

/* Theme-aware hover effects */
.hover-primary:hover {
    background-color: var(--primary-color) !important;
    color: white !important;
}

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