/* Custom Color Overrides - Power of Early Vision Foundation */
/* Primary Color: Navy Blue #000080 */
/* Accent Color: Yellow #ffde59 */

/* Override Bootstrap primary color with highest specificity */
:root {
  --bs-primary: #000080 !important;
  --bs-primary-rgb: 0, 0, 128 !important;
  --bs-secondary: #ffde59 !important;
  --bs-secondary-rgb: 255, 222, 89 !important;
  --bs-blue: #000080 !important;
}

/* Text Colors - Maximum Specificity */
.text-primary,
a.text-primary,
h1.text-primary,
h2.text-primary,
h3.text-primary,
h4.text-primary,
h5.text-primary,
h6.text-primary,
span.text-primary,
p.text-primary {
  color: #000080 !important;
}

/* Background Colors - Maximum Specificity */
.bg-primary,
div.bg-primary,
section.bg-primary,
.container-fluid.bg-primary {
  background-color: #000080 !important;
}

.bg-secondary,
div.bg-secondary,
section.bg-secondary,
.container-fluid.bg-secondary {
  background-color: #ffde59 !important;
  color: #000080 !important;
}

/* Buttons - Maximum Specificity */
.btn.btn-primary,
a.btn.btn-primary,
button.btn.btn-primary,
.btn-primary {
  background-color: #000080 !important;
  border-color: #000080 !important;
  color: #ffffff !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary.active,
a.btn.btn-primary:hover,
button.btn.btn-primary:hover {
  background-color: #ffde59 !important;
  border-color: #ffde59 !important;
  color: #000080 !important;
  transform: translateY(-2px);
  box-shadow: 0 7px 14px rgba(255, 222, 89, 0.4) !important;
}

.btn.btn-outline-primary,
a.btn.btn-outline-primary,
button.btn.btn-outline-primary,
.btn-outline-primary {
  color: #000080 !important;
  border-color: #000080 !important;
  background-color: transparent !important;
}

.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:focus,
.btn.btn-outline-primary:active,
.btn.btn-outline-primary.active,
a.btn.btn-outline-primary:hover,
button.btn.btn-outline-primary:hover {
  background-color: #000080 !important;
  border-color: #000080 !important;
  color: #ffffff !important;
}

/* Badges */
.badge.bg-primary,
span.badge.bg-primary {
  background-color: #000080 !important;
}

.badge.bg-secondary,
span.badge.bg-secondary {
  background-color: #ffde59 !important;
  color: #000080 !important;
}

/* Secondary Buttons */
.btn.btn-secondary,
a.btn.btn-secondary,
button.btn.btn-secondary,
.btn-secondary {
  background-color: #ffde59 !important;
  border-color: #ffde59 !important;
  color: #000080 !important;
}

.btn.btn-secondary:hover,
.btn.btn-secondary:focus,
.btn.btn-secondary:active,
.btn.btn-secondary.active,
a.btn.btn-secondary:hover,
button.btn.btn-secondary:hover {
  background-color: #000080 !important;
  border-color: #000080 !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 7px 14px rgba(0, 0, 128, 0.4) !important;
}

.btn.btn-outline-secondary,
a.btn.btn-outline-secondary,
button.btn.btn-outline-secondary,
.btn-outline-secondary {
  color: #ffde59 !important;
  border-color: #ffde59 !important;
  background-color: transparent !important;
}

.btn.btn-outline-secondary:hover,
.btn.btn-outline-secondary:focus,
.btn.btn-outline-secondary:active,
.btn.btn-outline-secondary.active,
a.btn.btn-outline-secondary:hover,
button.btn.btn-outline-secondary:hover {
  background-color: #ffde59 !important;
  border-color: #ffde59 !important;
  color: #000080 !important;
}

/* Borders */
.border-primary {
  border-color: #000080 !important;
}

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

/* Links */
a.text-primary:hover,
a.text-primary:focus {
  color: #00005a !important;
}

/* Alerts */
.alert-primary {
  background-color: rgba(0, 0, 128, 0.1) !important;
  border-color: #000080 !important;
  color: #000080 !important;
}

.alert-secondary {
  background-color: rgba(255, 222, 89, 0.2) !important;
  border-color: #ffde59 !important;
  color: #000080 !important;
}

/* Forms */
.form-control:focus,
input.form-control:focus,
textarea.form-control:focus {
  border-color: #000080 !important;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 128, 0.25) !important;
}

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

/* Navigation */
.navbar .nav-link.active,
.navbar .nav-link:hover,
.nav-link.active,
.nav-link:hover {
  color: #000080 !important;
}

.navbar .nav-link::after {
  background: #000080 !important;
}

/* Pagination */
.pagination .page-link {
  color: #000080 !important;
}

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

/* Progress */
.progress-bar {
  background-color: #000080 !important;
}

/* Dropdown */
.dropdown-item.active,
.dropdown-item:active {
  background-color: #000080 !important;
}

/* List Group */
.list-group-item.active {
  background-color: #000080 !important;
  border-color: #000080 !important;
}

/* Carousel */
.carousel-indicators button.active {
  background-color: #000080 !important;
}

/* Stats Section Background */
.container-fluid.bg-primary,
div.bg-primary {
  background-color: #000080 !important;
}

/* Icon boxes */
.icon-box.bg-primary,
.bg-primary.bg-opacity-10 {
  background-color: #000080 !important;
  background: #000080 !important;
}

/* Check icons */
.fa-check-circle.text-primary,
i.text-primary {
  color: #000080 !important;
}

/* Secondary/Accent Color Applications */
.text-secondary,
span.text-secondary,
h1.text-secondary,
h2.text-secondary,
h3.text-secondary,
h4.text-secondary,
h5.text-secondary,
h6.text-secondary {
  color: #ffde59 !important;
}

/* Hover states for links and buttons */
a:hover,
.btn:hover,
.nav-link:hover {
  transition: all 0.3s ease !important;
}

/* Feature card hover effects */
.feature-card:hover {
  border-color: #ffde59 !important;
}

/* Gallery item hover overlay */
.gallery-item:hover {
  border-color: #ffde59 !important;
}

/* Testimonial accents */
.testimonial-text h5::before {
  background: #ffde59 !important;
}

/* Section title underlines */
.section-title::after,
.text-primary::after {
  background: #ffde59 !important;
}
