/* 
 * Contrast Optimization Styles
 * Ensuring high readability and accessibility across all sections
 */

/* Global contrast improvements */
:root {
  /* Enhanced contrast color palette */
  --primary-color: #1A365D;     /* Deep blue */
  --primary-light: #2A4A7D;     /* Lighter blue for backgrounds */
  --secondary-color: #3182CE;   /* Medium blue */
  --accent-color: #D69E2E;      /* Gold */
  --accent-hover: #E9B949;      /* Lighter gold for hover states */
  --text-dark: #2D3748;         /* Dark gray for text */
  --text-medium: #4A5568;       /* Medium gray for secondary text */
  --text-light: #FFFFFF;        /* White for text on dark backgrounds */
  --text-light-muted: rgba(255, 255, 255, 0.9); /* Slightly muted white */
  --background-light: #FFFFFF;  /* White background */
  --background-gray: #F7FAFC;   /* Light gray background */
  --background-dark: #1A365D;   /* Dark blue background */
  
  /* Contrast-specific variables */
  --high-contrast-dark: #0D2240; /* Darker blue for better contrast */
  --high-contrast-accent: #C08A1A; /* Darker gold for better contrast on light backgrounds */
}

/* Ensure all text on dark backgrounds is light */
.hero, 
.footer, 
.section-dark,
.primary-background,
[class*="bg-primary"],
[class*="bg-dark"] {
  color: var(--text-light);
}

/* Ensure all text on light backgrounds has sufficient contrast */
.section-light,
.background-light,
[class*="bg-light"] {
  color: var(--text-dark);
}

/* Specific contrast fixes for hero section */
.hero {
  background: linear-gradient(135deg, var(--high-contrast-dark) 0%, var(--primary-color) 100%);
}

.hero-text h1,
.hero-text p {
  color: var(--text-light);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.hero-text h1 span {
  color: var(--accent-color);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Contrast improvements for cards and sections */
.challenge-card,
.expertise-item,
.timeline-item,
.offer-card,
.action-offer-card {
  color: var(--text-dark);
}

/* Ensure all headings have sufficient contrast */
h1, h2, h3, h4, h5, h6 {
  color: inherit;
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark h5,
.section-dark h6,
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer h6 {
  color: var(--text-light);
}

/* Improve contrast for all CTA buttons */
.cta-button,
.action-offer-cta,
.offer-cta,
.submit-button {
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.cta-button.primary,
.submit-button,
.floating-cta-button {
  background-color: var(--accent-color);
  color: var(--text-light);
  border: none;
}

.cta-button.secondary {
  background-color: transparent;
  color: var(--accent-color);
  border: 2px solid var(--accent-color);
}

.cta-button.primary:hover,
.submit-button:hover,
.floating-cta-button:hover {
  background-color: var(--accent-hover);
}

.cta-button.secondary:hover {
  background-color: rgba(214, 158, 46, 0.1);
}

/* Dark background CTAs */
.hero .cta-button.primary,
.section-dark .cta-button.primary {
  background-color: var(--accent-color);
  color: var(--text-light);
}

.hero .cta-button.secondary,
.section-dark .cta-button.secondary {
  background-color: transparent;
  color: var(--text-light);
  border: 2px solid var(--text-light);
}

.hero .cta-button.primary:hover,
.section-dark .cta-button.primary:hover {
  background-color: var(--accent-hover);
}

.hero .cta-button.secondary:hover,
.section-dark .cta-button.secondary:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* Footer specific contrast improvements */
.footer-links-column ul li a {
  color: var(--text-light-muted);
}

.footer-links-column ul li a:hover {
  color: var(--accent-color);
}

.footer-bottom p {
  color: var(--text-light-muted);
}

.social-icon {
  background-color: rgba(255, 255, 255, 0.15);
  color: var(--text-light);
}

/* Improve contrast for badges and tags */
.action-offer-badge,
.offer-period,
.recommended-badge {
  font-weight: 600;
}

/* Ensure icons have sufficient contrast */
.challenge-icon i,
.expertise-icon i,
.timeline-icon,
.contact-icon i {
  color: var(--accent-color);
}

/* Improve contrast for form elements */
input, 
textarea, 
select {
  color: var(--text-dark);
  border: 1px solid rgba(0, 0, 0, 0.2);
}

label {
  color: var(--text-dark);
  font-weight: 600;
}

/* Accessibility focus states */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 3px solid rgba(49, 130, 206, 0.5);
  outline-offset: 2px;
}

/* High contrast mode support */
@media (forced-colors: active) {
  .cta-button,
  .action-offer-cta,
  .offer-cta,
  .submit-button {
    border: 2px solid currentColor;
  }
}
