/* ===================================
   Text Contrast Fixes
   Ensures proper contrast ratios for accessibility
   =================================== */

/* Specific CTA section text contrast - Dark backgrounds */
.had-cta-section .had-cta-background h1,
.had-cta-section .had-cta-background h2,
.had-cta-section .had-cta-background h3,
.had-cta-section .had-cta-background h4,
.had-cta-section .had-cta-background h5,
.had-cta-section .had-cta-background h6 {
  color: var(--had-white) !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.had-cta-section .had-cta-background p,
.had-cta-section .had-cta-background .heading p {
  color: var(--had-white) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Light CTA background overrides */
.had-cta-section.cta-light .had-cta-background h1,
.had-cta-section.cta-light .had-cta-background h2,
.had-cta-section.cta-light .had-cta-background h3,
.had-cta-section.cta-light .had-cta-background h4,
.had-cta-section.cta-light .had-cta-background h5,
.had-cta-section.cta-light .had-cta-background h6 {
  color: var(--had-primary-blue) !important;
  text-shadow: none;
}

.had-cta-section.cta-light .had-cta-background p,
.had-cta-section.cta-light .had-cta-background .heading p {
  color: var(--had-text-gray) !important;
  text-shadow: none;
}

/* Hero section contrast fixes - more specific selectors */
.inner-hero .inner-heading h1,
.inner-hero .inner-heading h2,
.inner-hero .inner-heading h3,
.inner-hero .inner-heading h4,
.inner-hero .inner-heading h5,
.inner-hero .inner-heading h6 {
  color: var(--had-white) !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.inner-hero .page-prog a,
.inner-hero .page-prog p {
  color: var(--had-white) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.inner-hero .page-prog .icon {
  color: var(--had-accent-orange) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* Light section backgrounds */
.about-page-brand.sec-bg1 {
  background-color: #f8f9fa !important;
}

.about-page-brand.sec-bg1 p {
  color: var(--had-primary-blue) !important;
}

/* Dark theme contrast fixes - more specific */
.dark-mode .had-cta-section.cta-light .had-cta-background {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%) !important;
}

.dark-mode .had-cta-section.cta-light .had-cta-background h1,
.dark-mode .had-cta-section.cta-light .had-cta-background h2,
.dark-mode .had-cta-section.cta-light .had-cta-background h3,
.dark-mode .had-cta-section.cta-light .had-cta-background h4,
.dark-mode .had-cta-section.cta-light .had-cta-background h5,
.dark-mode .had-cta-section.cta-light .had-cta-background h6 {
  color: var(--had-white) !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.dark-mode .had-cta-section.cta-light .had-cta-background p {
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Button contrast fixes */
.had-btn-primary {
  background-color: var(--had-primary-orange) !important;
  color: var(--had-white) !important;
  border: 2px solid var(--had-primary-orange) !important;
}

.had-btn-primary:hover {
  background-color: var(--had-orange-dark) !important;
  color: var(--had-white) !important;
  border-color: var(--had-orange-dark) !important;
}

.had-btn-outline {
  background-color: transparent !important;
  color: var(--had-white) !important;
  border: 2px solid var(--had-white) !important;
}

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

/* Light background button fixes */
.cta-light .had-btn-outline {
  color: var(--had-primary-blue) !important;
  border-color: var(--had-primary-blue) !important;
}

.cta-light .had-btn-outline:hover {
  background-color: var(--had-primary-blue) !important;
  color: var(--had-white) !important;
}

/* Specific theme class overrides */
.sub-title1.sec-bg2 {
  background-color: var(--had-primary-orange) !important;
  color: var(--had-white) !important;
  text-shadow: none;
}

/* Progress bar contrast */
.about-page-progress .progress-bar {
  background-color: var(--had-primary-orange) !important;
  color: var(--had-white) !important;
}

/* Form elements in specific contexts */
.contact-form input,
.contact-form textarea,
.contact-form select {
  background-color: var(--had-white) !important;
  color: var(--had-text-gray) !important;
  border: 1px solid #dee2e6 !important;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
  border-color: var(--had-primary-orange) !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 102, 0, 0.25) !important;
}