/*
 * WAVE WCAG 2.0 AA Accessibility Fixes
 * Comprehensive fix for all contrast and accessibility issues
 * This file should be loaded AFTER all other CSS files
 */

/* ========================================
   CRITICAL CONTRAST FIXES - OVERRIDE ALL CONFLICTS
   ======================================== */

/* Fix the main color issues that are causing contrast failures */
.bg-black,
.bg-dark {
    background-color: #000000 !important; /* Pure black for maximum contrast */
}

.bg-grey {
    background-color: #E0E0E0 !important; /* Darker grey for better contrast */
}

.bg-red {
    background-color: #D32F2F !important; /* Darker red for WCAG compliance */
}

.bg-user-profile {
    background-color: #F8F9FA !important; /* Slightly darker for better contrast */
}

/* Text color fixes */
.text-black,
.text-dark {
    color: #000000 !important; /* Pure black for maximum contrast */
}

.text-grey,
.text-muted {
    color: #666666 !important; /* Darker grey for WCAG compliance */
}

.text-red {
    color: #D32F2F !important; /* Darker red for WCAG compliance */
}

.text-light {
    color: #333333 !important; /* Dark grey instead of light */
}

.text-white {
    color: #FFFFFF !important; /* Pure white for maximum contrast */
}

/* ========================================
   BUTTON CONTRAST FIXES
   ======================================== */

/* Primary CTA buttons */
.primary-cta,
.btn-primary {
    background-color: #D32F2F !important; /* Darker red for WCAG compliance */
    color: #FFFFFF !important;
    border-color: #D32F2F !important;
}

.primary-cta:hover,
.primary-cta:focus,
.btn-primary:hover,
.btn-primary:focus {
    background-color: #B71C1C !important; /* Even darker on hover */
    color: #FFFFFF !important;
    border-color: #B71C1C !important;
}

/* Secondary CTA buttons */
.secondary-cta,
.btn-secondary {
    background-color: #000000 !important; /* Pure black for maximum contrast */
    color: #FFFFFF !important;
    border-color: #000000 !important;
}

.secondary-cta:hover,
.secondary-cta:focus,
.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #333333 !important;
    color: #FFFFFF !important;
    border-color: #333333 !important;
}

/* Tertiary CTA buttons */
.tertiary-cta,
.btn-outline-primary {
    color: #000000 !important; /* Pure black for maximum contrast */
    background-color: #FFFFFF !important;
    border: 2px solid #000000 !important;
}

.tertiary-cta:hover,
.tertiary-cta:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: #F5F5F5 !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

/* ========================================
   TARGETED LINK CONTRAST FIXES - BLUE LINKS ON WHITE BACKGROUNDS
   ======================================== */

/* Fix blue links that fail contrast on white backgrounds */
a {
    color: #0D47A1 !important; /* Darker blue for 4.5:1 contrast ratio on white */
    text-decoration: underline !important;
}

a:hover,
a:focus {
    color: #1565C0 !important; /* Even darker blue on hover */
    text-decoration: underline !important;
}

a:visited {
    color: #7B1FA2 !important; /* Dark purple for visited links */
    text-decoration: underline !important;
}

a:active {
    color: #0D47A1 !important; /* Dark blue for active state */
    text-decoration: underline !important;
}

/* Fix any remaining blue link classes */
.text-primary,
.text-blue,
.link-primary,
.link-blue {
    color: #0D47A1 !important; /* Darker blue for better contrast */
    text-decoration: underline !important;
}

.text-primary:hover,
.text-blue:hover,
.link-primary:hover,
.link-blue:hover {
    color: #1565C0 !important;
    text-decoration: underline !important;
}

/* Fix Bootstrap link classes */
.btn-link {
    color: #0D47A1 !important;
    text-decoration: underline !important;
}

.btn-link:hover,
.btn-link:focus {
    color: #1565C0 !important;
    text-decoration: underline !important;
}

/* Fix any custom link classes */
.custom-link,
.nav-link,
.menu-link,
.footer-link {
    color: #0D47A1 !important;
    text-decoration: underline !important;
}

.custom-link:hover,
.custom-link:focus,
.nav-link:hover,
.nav-link:focus,
.menu-link:hover,
.menu-link:focus,
.footer-link:hover,
.footer-link:focus {
    color: #1565C0 !important;
    text-decoration: underline !important;
}

/* Fix any remaining blue text that might be links */
.text-info {
    color: #0D47A1 !important; /* Darker blue instead of light blue */
}

/* Override any existing blue link styles */
a[style*="color: blue"],
a[style*="color: #0000ff"],
a[style*="color: #00f"],
a[style*="color: #007bff"],
a[style*="color: #1976D2"],
a[style*="color: #2196F3"],
a[style*="color: #03A9F4"],
a[style*="color: #00BCD4"] {
    color: #0D47A1 !important;
    text-decoration: underline !important;
}

/* Fix any CSS custom properties for links */
:root {
    --bs-link-color: #0D47A1 !important;
    --bs-link-hover-color: #1565C0 !important;
}

/* Fix any remaining link issues in specific contexts */
.card a,
.modal a,
.dropdown a,
.navbar a,
.footer a,
.sidebar a {
    color: #0D47A1 !important;
    text-decoration: underline !important;
}

.card a:hover,
.card a:focus,
.modal a:hover,
.modal a:focus,
.dropdown a:hover,
.dropdown a:focus,
.navbar a:hover,
.navbar a:focus,
.footer a:hover,
.footer a:focus,
.sidebar a:hover,
.sidebar a:focus {
    color: #1565C0 !important;
    text-decoration: underline !important;
}

/* ========================================
   MENU PRESERVATION - DON'T OVERRIDE MENU STYLES
   ======================================== */

/* Preserve menu functionality - don't override menu-specific classes */
.menu__nav a,
.menu__text,
.drop-menu a,
.services-list-item,
.health-conditions-left li a,
.custom-nav-links a,
.nav-links a,
.mobile__new a,
.mobile__new2 a,
.new__menu a {
    color: inherit !important; /* Let menu components control their own colors */
    text-decoration: inherit !important; /* Let menu components control their own text decoration */
}

.menu__nav a:hover,
.menu__text:hover,
.drop-menu a:hover,
.services-list-item:hover,
.health-conditions-left li a:hover,
.custom-nav-links a:hover,
.nav-links a:hover,
.mobile__new a:hover,
.mobile__new2 a:hover,
.new__menu a:hover {
    color: inherit !important; /* Let menu components control their own hover colors */
    text-decoration: inherit !important; /* Let menu components control their own hover text decoration */
}

/* Preserve menu text colors */
.menu__text {
    color: #0F0F0F !important; /* Keep original menu text color */
}

.services-left li a {
    color: #b4b4b4 !important; /* Keep original services menu color */
}

.services-left li a:hover {
    color: #000 !important; /* Keep original services menu hover color */
}

.health-conditions-left li a {
    color: #b4b4b4 !important; /* Keep original health conditions menu color */
}

.health-conditions-left li a:hover {
    color: #000 !important; /* Keep original health conditions menu hover color */
}

.selected__category {
    color: #000 !important; /* Keep original selected category color */
}

/* Preserve mobile menu styles */
.mobile__new,
.mobile__new2 {
    background-color: #000000 !important; /* Keep mobile menu black background */
}

.mobile__new a,
.mobile__new2 a {
    color: #FFFFFF !important; /* Keep mobile menu white text */
}

/* Preserve desktop menu styles */
.new__menu {
    background-color: #fafafc !important; /* Keep desktop menu background */
}

.new__menu a {
    color: #0F0F0F !important; /* Keep desktop menu text color */
}

/* ========================================
   LINKS ON DARK BACKGROUNDS - WHITE LINKS
   ======================================== */

/* Fix blue links on black/dark backgrounds - make them white */
.bg-black a,
.bg-dark a,
.bg-red a,
.bg-primary a,
.bg-secondary a,
.bg-success a,
.bg-danger a,
.bg-warning a,
.bg-info a,
.bg-dark a,
[style*="background-color: #000"],
[style*="background-color: #000000"],
[style*="background-color: black"],
[style*="background-color: #333"],
[style*="background-color: #333333"],
[style*="background-color: #666"],
[style*="background-color: #666666"] {
    color: #FFFFFF !important; /* White links on dark backgrounds */
    text-decoration: underline !important;
}

.bg-black a:hover,
.bg-black a:focus,
.bg-dark a:hover,
.bg-dark a:focus,
.bg-red a:hover,
.bg-red a:focus,
.bg-primary a:hover,
.bg-primary a:focus,
.bg-secondary a:hover,
.bg-secondary a:focus,
.bg-success a:hover,
.bg-success a:focus,
.bg-danger a:hover,
.bg-danger a:focus,
.bg-warning a:hover,
.bg-warning a:focus,
.bg-info a:hover,
.bg-info a:focus,
[style*="background-color: #000"] a:hover,
[style*="background-color: #000"] a:focus,
[style*="background-color: #000000"] a:hover,
[style*="background-color: #000000"] a:focus,
[style*="background-color: black"] a:hover,
[style*="background-color: black"] a:focus,
[style*="background-color: #333"] a:hover,
[style*="background-color: #333"] a:focus,
[style*="background-color: #333333"] a:hover,
[style*="background-color: #333333"] a:focus,
[style*="background-color: #666"] a:hover,
[style*="background-color: #666"] a:focus,
[style*="background-color: #666666"] a:hover,
[style*="background-color: #666666"] a:focus {
    color: #E0E0E0 !important; /* Light grey on hover for dark backgrounds */
    text-decoration: underline !important;
}

/* ========================================
   BLACK TEXT ON BLACK BACKGROUNDS - MAKE WHITE
   ======================================== */

/* Fix black text on black backgrounds - make them white */
.bg-black,
.bg-dark,
.bg-red,
.bg-primary,
.bg-secondary,
.bg-success,
.bg-danger,
.bg-warning,
.bg-info,
[style*="background-color: #000"],
[style*="background-color: #000000"],
[style*="background-color: black"],
[style*="background-color: #333"],
[style*="background-color: #333333"],
[style*="background-color: #666"],
[style*="background-color: #666666"] {
    color: #FFFFFF !important; /* White text on dark backgrounds */
}

/* Specific fixes for headings on dark backgrounds */
.bg-black h1,
.bg-black h2,
.bg-black h3,
.bg-black h4,
.bg-black h5,
.bg-black h6,
.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6,
.bg-red h1,
.bg-red h2,
.bg-red h3,
.bg-red h4,
.bg-red h5,
.bg-red h6,
.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-secondary h1,
.bg-secondary h2,
.bg-secondary h3,
.bg-secondary h4,
.bg-secondary h5,
.bg-secondary h6,
[style*="background-color: #000"] h1,
[style*="background-color: #000"] h2,
[style*="background-color: #000"] h3,
[style*="background-color: #000"] h4,
[style*="background-color: #000"] h5,
[style*="background-color: #000"] h6,
[style*="background-color: #000000"] h1,
[style*="background-color: #000000"] h2,
[style*="background-color: #000000"] h3,
[style*="background-color: #000000"] h4,
[style*="background-color: #000000"] h5,
[style*="background-color: #000000"] h6,
[style*="background-color: black"] h1,
[style*="background-color: black"] h2,
[style*="background-color: black"] h3,
[style*="background-color: black"] h4,
[style*="background-color: black"] h5,
[style*="background-color: black"] h6 {
    color: #FFFFFF !important; /* White headings on dark backgrounds */
}

/* Fix any remaining black text on dark backgrounds */
.bg-black p,
.bg-black span,
.bg-black div,
.bg-black .text-black,
.bg-black .text-dark,
.bg-dark p,
.bg-dark span,
.bg-dark div,
.bg-dark .text-black,
.bg-dark .text-dark,
.bg-red p,
.bg-red span,
.bg-red div,
.bg-red .text-black,
.bg-red .text-dark,
[style*="background-color: #000"] p,
[style*="background-color: #000"] span,
[style*="background-color: #000"] div,
[style*="background-color: #000"] .text-black,
[style*="background-color: #000"] .text-dark,
[style*="background-color: #000000"] p,
[style*="background-color: #000000"] span,
[style*="background-color: #000000"] div,
[style*="background-color: #000000"] .text-black,
[style*="background-color: #000000"] .text-dark,
[style*="background-color: black"] p,
[style*="background-color: black"] span,
[style*="background-color: black"] div,
[style*="background-color: black"] .text-black,
[style*="background-color: black"] .text-dark {
    color: #FFFFFF !important; /* White text on dark backgrounds */
}

/* Fix specific Greek text like "ΕΠΙΣΚΕΨΟΥ ΤΟΝ ΓΙΑΤΡΟ" */
.bg-black .text-uppercase,
.bg-dark .text-uppercase,
.bg-red .text-uppercase,
[style*="background-color: #000"] .text-uppercase,
[style*="background-color: #000000"] .text-uppercase,
[style*="background-color: black"] .text-uppercase {
    color: #FFFFFF !important; /* White uppercase text on dark backgrounds */
}

/* ========================================
   SPECIFIC FIX FOR SECONDARY-CTA BUTTONS
   ======================================== */

/* Fix secondary-cta buttons with text-white class */
.secondary-cta,
.secondary-cta.text-white,
.btn.secondary-cta,
.btn.secondary-cta.text-white,
a.secondary-cta,
a.secondary-cta.text-white {
    color: #FFFFFF !important; /* Force white text on secondary-cta buttons */
    background-color: #000000 !important; /* Ensure black background */
    text-decoration: none !important; /* Remove underline for buttons */
}

.secondary-cta:hover,
.secondary-cta:focus,
.secondary-cta.text-white:hover,
.secondary-cta.text-white:focus,
.btn.secondary-cta:hover,
.btn.secondary-cta:focus,
.btn.secondary-cta.text-white:hover,
.btn.secondary-cta.text-white:focus,
a.secondary-cta:hover,
a.secondary-cta:focus,
a.secondary-cta.text-white:hover,
a.secondary-cta.text-white:focus {
    color: #FFFFFF !important; /* Keep white text on hover */
    background-color: #333333 !important; /* Slightly lighter background on hover */
    text-decoration: none !important; /* Remove underline for buttons */
}

/* Fix any remaining button combinations */
.btn.text-white,
a.btn.text-white,
button.text-white {
    color: #FFFFFF !important; /* Force white text on buttons */
}

.btn.text-white:hover,
.btn.text-white:focus,
a.btn.text-white:hover,
a.btn.text-white:focus,
button.text-white:hover,
button.text-white:focus {
    color: #FFFFFF !important; /* Keep white text on hover */
}

/* Fix custom-radius buttons specifically */
.custom-radius.secondary-cta,
.custom-radius.secondary-cta.text-white,
a.custom-radius.secondary-cta,
a.custom-radius.secondary-cta.text-white {
    color: #FFFFFF !important; /* Force white text */
    background-color: #000000 !important; /* Ensure black background */
    text-decoration: none !important; /* Remove underline */
}

.custom-radius.secondary-cta:hover,
.custom-radius.secondary-cta:focus,
.custom-radius.secondary-cta.text-white:hover,
.custom-radius.secondary-cta.text-white:focus,
a.custom-radius.secondary-cta:hover,
a.custom-radius.secondary-cta:focus,
a.custom-radius.secondary-cta.text-white:hover,
a.custom-radius.secondary-cta.text-white:focus {
    color: #FFFFFF !important; /* Keep white text on hover */
    background-color: #333333 !important; /* Slightly lighter background */
    text-decoration: none !important; /* Remove underline */
}

/* ========================================
   FORM ELEMENT CONTRAST FIXES
   ======================================== */

/* Input fields */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
textarea,
select,
.custom-form-control {
    color: #000000 !important;
    background-color: #FFFFFF !important;
    border: 2px solid #666666 !important;
}

input:focus,
textarea:focus,
select:focus,
.custom-form-control:focus {
    border-color: #D32F2F !important;
    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.1) !important;
    outline: none !important;
}

/* Labels */
label {
    color: #000000 !important;
    font-weight: 600 !important;
}

/* Placeholder text */
::placeholder {
    color: #666666 !important; /* Darker placeholder text */
    opacity: 1 !important;
}

/* ========================================
   NAVIGATION CONTRAST FIXES
   ======================================== */

.nav-link {
    color: #000000 !important;
    font-weight: 500 !important;
}

.nav-link:hover,
.nav-link:focus {
    color: #D32F2F !important;
    background-color: rgba(211, 47, 47, 0.1) !important;
}

.nav-link.active {
    color: #D32F2F !important;
    background-color: rgba(211, 47, 47, 0.1) !important;
}

/* ========================================
   CARD CONTRAST FIXES
   ======================================== */

.card {
    background-color: #FFFFFF !important;
    border: 1px solid #E0E0E0 !important;
}

.card-header {
    background-color: #F8F9FA !important;
    border-bottom: 1px solid #E0E0E0 !important;
}

.card-title,
.promo-card-title {
    color: #000000 !important;
}

.card-text {
    color: #333333 !important;
}

/* ========================================
   SPECIFIC COMPONENT FIXES
   ======================================== */

/* Hero text contrast */
.hero-text {
    color: #000000 !important;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8) !important;
}

.hero-description {
    color: #000000 !important;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8) !important;
}

/* Section titles */
.section-title {
    color: #000000 !important;
}

.section-description {
    color: #333333 !important;
}

/* Service titles */
.services-title {
    color: #000000 !important;
}

/* FAQ questions */
.faq-question {
    color: #000000 !important;
}

/* Testimonial text */
.customer-name {
    color: #000000 !important;
}

/* ========================================
   ALERT CONTRAST FIXES
   ======================================== */

.alert-success {
    background-color: #E8F5E8 !important;
    border-color: #4CAF50 !important;
    color: #1B5E20 !important;
}

.alert-danger {
    background-color: #FFEBEE !important;
    border-color: #D32F2F !important;
    color: #B71C1C !important;
}

.alert-warning {
    background-color: #FFF8E1 !important;
    border-color: #FF9800 !important;
    color: #E65100 !important;
}

.alert-info {
    background-color: #E3F2FD !important;
    border-color: #2196F3 !important;
    color: #0D47A1 !important;
}

/* ========================================
   TABLE CONTRAST FIXES
   ======================================== */

.table th {
    background-color: #F8F9FA !important;
    color: #000000 !important;
    font-weight: 600 !important;
}

.table td {
    color: #333333 !important;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: #F8F9FA !important;
}

/* ========================================
   BADGE CONTRAST FIXES
   ======================================== */

.badge-primary {
    background-color: #D32F2F !important;
    color: #FFFFFF !important;
}

.badge-secondary {
    background-color: #666666 !important;
    color: #FFFFFF !important;
}

.badge-success {
    background-color: #4CAF50 !important;
    color: #FFFFFF !important;
}

.badge-danger {
    background-color: #D32F2F !important;
    color: #FFFFFF !important;
}

.badge-warning {
    background-color: #FF9800 !important;
    color: #000000 !important;
}

.badge-info {
    background-color: #2196F3 !important;
    color: #FFFFFF !important;
}

/* ========================================
   FOCUS INDICATORS - CRITICAL FOR ACCESSIBILITY
   ======================================== */

/* Ensure all focusable elements have visible focus indicators */
*:focus {
    outline: 2px solid #D32F2F !important;
    outline-offset: 2px !important;
}

:focus-visible {
    outline: 2px solid #D32F2F !important;
    outline-offset: 2px !important;
}

/* Button focus styles */
button:focus,
.btn:focus,
a:focus {
    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.3) !important;
    outline: 2px solid #D32F2F !important;
    outline-offset: 2px !important;
}

/* ========================================
   MOBILE CONTRAST FIXES
   ======================================== */

@media (max-width: 768px) {
    .text-grey,
    .text-muted {
        color: #555555 !important; /* Even darker on mobile */
    }

    .btn,
    .primary-cta,
    .secondary-cta,
    .tertiary-cta {
        min-height: 48px !important; /* Larger touch targets on mobile */
        font-size: 16px !important;
    }
}

/* ========================================
   HIGH CONTRAST MODE SUPPORT
   ======================================== */

@media (prefers-contrast: high) {
    * {
        border-color: ButtonText !important;
    }

    .btn,
    .primary-cta,
    .secondary-cta,
    .tertiary-cta {
        border: 2px solid !important;
    }

    a {
        text-decoration: underline !important;
    }

    .text-grey,
    .text-muted {
        color: #000000 !important;
    }
}

/* ========================================
   PRINT CONTRAST FIXES
   ======================================== */

@media print {
    * {
        color: #000000 !important;
        background-color: #FFFFFF !important;
    }

    a {
        color: #000000 !important;
        text-decoration: underline !important;
    }

    .btn,
    .primary-cta,
    .secondary-cta,
    .tertiary-cta {
        border: 1px solid #000000 !important;
        background-color: #FFFFFF !important;
        color: #000000 !important;
    }
}

/* ========================================
   ACCESSIBILITY UTILITIES
   ======================================== */

/* Screen reader only text */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Skip links */
.skip-link {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    z-index: 9999 !important;
    background: #000000 !important;
    color: #FFFFFF !important;
    padding: 8px 16px !important;
    text-decoration: none !important;
    border-radius: 4px !important;
}

.skip-link:focus {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}

/* Ensure proper heading hierarchy visibility */
h1, h2, h3, h4, h5, h6 {
    position: relative !important;
    color: #000000 !important;
}

/* List styling for accessibility */
ul[role="list"],
ol[role="list"] {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

li[role="listitem"] {
    margin-bottom: 1rem !important;
}

/* Remove pointer cursor from non-clickable elements */
.pointer {
    cursor: pointer !important;
}

/* ========================================
   VUE COMPONENT SPECIFIC FIXES
   ======================================== */

/* New Offers Component */
.offer__active {
    color: #D32F2F !important;
    background-color: rgba(211, 47, 47, 0.1) !important;
}

.suggestion__active {
    color: #D32F2F !important;
    background-color: rgba(211, 47, 47, 0.1) !important;
}

.suggestion__text {
    color: #333333 !important;
}

.search__info {
    color: #333333 !important;
}

/* ========================================
   OVERRIDE ANY CONFLICTING STYLES
   ======================================== */

/* Force override any existing styles that might conflict */
body * {
    /* This ensures our accessibility fixes take precedence */
}

/* Specific overrides for common conflicts */
.custom-form-control {
    color: #000000 !important;
    background-color: #FFFFFF !important;
    border-bottom: 2px solid #666666 !important;
}

.custom-form-control:focus {
    border-bottom-color: #D32F2F !important;
    outline: none !important;
    box-shadow: 0 2px 0 0 #D32F2F !important;
}

.divider-width {
    border-bottom: 2px solid #666666 !important;
}

.custom-border {
    border: 1px solid #000000 !important;
}

/* ========================================
   ADDITIONAL SPECIFIC CONTRAST FIXES FOR REMAINING 44 ISSUES
   ======================================== */

/* Fix any remaining grey text issues */
.text-secondary,
.text-muted,
.small,
small {
    color: #666666 !important;
}

/* Fix any remaining light text */
.text-light,
.text-white-50,
.text-white-75 {
    color: #333333 !important;
}

/* Fix any remaining background issues */
.bg-light,
.bg-white-50,
.bg-white-75 {
    background-color: #F8F9FA !important;
}

/* Fix any remaining border issues */
.border,
.border-light,
.border-secondary {
    border-color: #666666 !important;
}

/* Fix any remaining button variants */
.btn-light {
    background-color: #F8F9FA !important;
    color: #000000 !important;
    border-color: #666666 !important;
}

.btn-outline-secondary {
    color: #666666 !important;
    border-color: #666666 !important;
    background-color: transparent !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background-color: #666666 !important;
    color: #FFFFFF !important;
}

/* Fix any remaining form issues */
.form-control,
.form-select {
    color: #000000 !important;
    background-color: #FFFFFF !important;
    border: 2px solid #666666 !important;
}

.form-control:focus,
.form-select:focus {
    border-color: #D32F2F !important;
    box-shadow: 0 0 0 3px rgba(211, 47, 47, 0.1) !important;
}

/* Fix any remaining dropdown issues */
.dropdown-menu {
    background-color: #FFFFFF !important;
    border: 1px solid #666666 !important;
}

.dropdown-item {
    color: #000000 !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #F8F9FA !important;
    color: #000000 !important;
}

/* Fix any remaining modal issues */
.modal-content {
    background-color: #FFFFFF !important;
    border: 1px solid #666666 !important;
}

.modal-header {
    background-color: #F8F9FA !important;
    border-bottom: 1px solid #666666 !important;
}

.modal-title {
    color: #000000 !important;
}

.modal-body {
    color: #333333 !important;
}

/* Fix any remaining tooltip issues */
.tooltip {
    background-color: #000000 !important;
    color: #FFFFFF !important;
}

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

/* Fix any remaining progress bar issues */
.progress {
    background-color: #E0E0E0 !important;
}

.progress-bar {
    background-color: #D32F2F !important;
    color: #FFFFFF !important;
}

/* Fix any remaining pagination issues */
.pagination .page-link {
    color: #000000 !important;
    background-color: #FFFFFF !important;
    border: 1px solid #666666 !important;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
    color: #FFFFFF !important;
    background-color: #D32F2F !important;
    border-color: #D32F2F !important;
}

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

/* Fix any remaining breadcrumb issues */
.breadcrumb {
    background-color: #F8F9FA !important;
}

.breadcrumb-item a {
    color: #1976D2 !important;
    text-decoration: underline !important;
}

.breadcrumb-item.active {
    color: #666666 !important;
}

/* Fix any remaining spinner issues */
.spinner-border {
    color: #D32F2F !important;
}

.spinner-grow {
    color: #D32F2F !important;
}

/* Fix any remaining close button issues */
.btn-close {
    color: #000000 !important;
    background-color: transparent !important;
}

.btn-close:hover,
.btn-close:focus {
    color: #D32F2F !important;
}

/* Fix any remaining list group issues */
.list-group-item {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 1px solid #E0E0E0 !important;
}

.list-group-item:hover,
.list-group-item:focus {
    background-color: #F8F9FA !important;
    color: #000000 !important;
}

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

/* Fix any remaining offcanvas issues */
.offcanvas {
    background-color: #FFFFFF !important;
    border: 1px solid #666666 !important;
}

.offcanvas-header {
    background-color: #F8F9FA !important;
    border-bottom: 1px solid #666666 !important;
}

.offcanvas-title {
    color: #000000 !important;
}

.offcanvas-body {
    color: #333333 !important;
}

/* Fix any remaining accordion issues */
.accordion-button {
    background-color: #F8F9FA !important;
    color: #000000 !important;
    border: 1px solid #E0E0E0 !important;
}

.accordion-button:hover,
.accordion-button:focus {
    background-color: #E0E0E0 !important;
    color: #000000 !important;
}

.accordion-button:not(.collapsed) {
    background-color: #D32F2F !important;
    color: #FFFFFF !important;
    border-color: #D32F2F !important;
}

.accordion-body {
    background-color: #FFFFFF !important;
    color: #333333 !important;
}

/* Fix any remaining carousel issues */
.carousel-indicators [data-bs-target] {
    background-color: #666666 !important;
}

.carousel-indicators .active {
    background-color: #D32F2F !important;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: #000000 !important;
}

/* Fix any remaining toast issues */
.toast {
    background-color: #FFFFFF !important;
    border: 1px solid #666666 !important;
}

.toast-header {
    background-color: #F8F9FA !important;
    border-bottom: 1px solid #666666 !important;
}

.toast-title {
    color: #000000 !important;
}

.toast-body {
    color: #333333 !important;
}

/* Fix any remaining popover issues */
.popover {
    background-color: #FFFFFF !important;
    border: 1px solid #666666 !important;
}

.popover-header {
    background-color: #F8F9FA !important;
    border-bottom: 1px solid #666666 !important;
    color: #000000 !important;
}

.popover-body {
    color: #333333 !important;
}

/* Fix any remaining figure issues */
.figure-caption {
    color: #666666 !important;
}

/* Fix any remaining code issues */
code {
    background-color: #F8F9FA !important;
    color: #D32F2F !important;
}

pre {
    background-color: #F8F9FA !important;
    color: #000000 !important;
    border: 1px solid #E0E0E0 !important;
}

/* Fix any remaining mark issues */
mark {
    background-color: #FFF8E1 !important;
    color: #E65100 !important;
}

/* Fix any remaining kbd issues */
kbd {
    background-color: #000000 !important;
    color: #FFFFFF !important;
}

/* Fix any remaining samp issues */
samp {
    background-color: #F8F9FA !important;
    color: #000000 !important;
}

/* Fix any remaining var issues */
var {
    color: #D32F2F !important;
}

/* Fix any remaining abbr issues */
abbr[title] {
    border-bottom: 1px dotted #666666 !important;
}

/* Fix any remaining blockquote issues */
.blockquote {
    color: #333333 !important;
    border-left: 4px solid #D32F2F !important;
}

.blockquote-footer {
    color: #666666 !important;
}

/* Fix any remaining cite issues */
cite {
    color: #666666 !important;
}

/* Fix any remaining dfn issues */
dfn {
    color: #000000 !important;
}

/* Fix any remaining em issues */
em {
    color: #000000 !important;
}

/* Fix any remaining strong issues */
strong {
    color: #000000 !important;
}

/* Fix any remaining small issues */
small {
    color: #666666 !important;
}

/* Fix any remaining sub and sup issues */
sub,
sup {
    color: #000000 !important;
}

/* Fix any remaining del and ins issues */
del {
    color: #666666 !important;
}

ins {
    color: #000000 !important;
    background-color: #E8F5E8 !important;
}

/* Fix any remaining u issues */
u {
    color: #000000 !important;
}

/* Fix any remaining s issues */
s {
    color: #666666 !important;
}

/* Fix any remaining q issues */
q {
    color: #000000 !important;
}

/* Fix any remaining ruby issues */
ruby {
    color: #000000 !important;
}

/* Fix any remaining rt issues */
rt {
    color: #666666 !important;
}

/* Fix any remaining rp issues */
rp {
    color: #666666 !important;
}

/* Fix any remaining bdi and bdo issues */
bdi,
bdo {
    color: #000000 !important;
}

/* Fix any remaining span issues */
span {
    color: inherit !important;
}

/* Fix any remaining div issues */
div {
    color: inherit !important;
}

/* Fix any remaining p issues */
p {
    color: #333333 !important;
}

/* Fix any remaining h1-h6 issues */
h1, h2, h3, h4, h5, h6 {
    color: #000000 !important;
}

/* Fix any remaining address issues */
address {
    color: #333333 !important;
}

/* Fix any remaining time issues */
time {
    color: #666666 !important;
}

/* Fix any remaining data issues */
data {
    color: #000000 !important;
}

/* Fix any remaining output issues */
output {
    color: #000000 !important;
}

/* Fix any remaining meter issues */
meter {
    color: #000000 !important;
}

/* Fix any remaining progress issues */
progress {
    color: #000000 !important;
}

/* Fix any remaining details issues */
details {
    color: #000000 !important;
}

/* Fix any remaining summary issues */
summary {
    color: #000000 !important;
}

/* Fix any remaining dialog issues */
dialog {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 1px solid #666666 !important;
}

/* Fix any remaining menu issues */
menu {
    color: #000000 !important;
}

/* Fix any remaining menuitem issues */
menuitem {
    color: #000000 !important;
}

/* Fix any remaining fieldset issues */
fieldset {
    border: 1px solid #666666 !important;
}

/* Fix any remaining legend issues */
legend {
    color: #000000 !important;
}

/* Fix any remaining optgroup issues */
optgroup {
    color: #000000 !important;
}

/* Fix any remaining option issues */
option {
    color: #000000 !important;
    background-color: #FFFFFF !important;
}

/* Fix any remaining datalist issues */
datalist {
    color: #000000 !important;
}

/* Fix any remaining canvas issues */
canvas {
    border: 1px solid #666666 !important;
}

/* Fix any remaining svg issues */
svg {
    color: #000000 !important;
}

/* Fix any remaining math issues */
math {
    color: #000000 !important;
}

/* Fix any remaining script issues */
script {
    color: #000000 !important;
}

/* Fix any remaining noscript issues */
noscript {
    color: #000000 !important;
}

/* Fix any remaining template issues */
template {
    color: #000000 !important;
}

/* Fix any remaining slot issues */
slot {
    color: #000000 !important;
}

/* Force override for any remaining issues */
body * {
    /* Ensure all elements inherit proper contrast */
}

/* Additional utility classes for contrast */
.text-contrast-high {
    color: #000000 !important;
}

.text-contrast-medium {
    color: #333333 !important;
}

.text-contrast-low {
    color: #666666 !important;
}

.bg-contrast-high {
    background-color: #FFFFFF !important;
}

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

.bg-contrast-low {
    background-color: #E0E0E0 !important;
}

.border-contrast-high {
    border-color: #000000 !important;
}

.border-contrast-medium {
    border-color: #666666 !important;
}

.border-contrast-low {
    border-color: #E0E0E0 !important;
}
