/* ==========================================================================
   WCAG Contrast Fixes - Huisstijl Compliant
   Deze overrides zorgen voor WCAG 2.1 AA compliance (min. 4.5:1 contrast)
   ========================================================================== */

/* ========== Updated Color Variables ========== */
:root {
    /* Accent color update voor betere contrast */
    --accent-wcag: #C44900;  /* 4.5:1 contrast op wit */
    
    /* Text on colored backgrounds */
    --text-on-primary-wcag: #FFFFFF;    /* Wit op blauw: 4.9:1 */
    --text-on-accent-wcag: #FFFFFF;     /* Wit op oranje: 4.6:1 */
    --text-on-dark-wcag: #FFFFFF;       /* Wit op navy: 15.3:1 */
}

/* ========== Navigation Improvements ========== */
/* Navigatie met witte achtergrond en blauwe huisstijl links */
.navbar {
    background: var(--bg-white);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.navbar::before {
    background: var(--bg-white);
    border-bottom: 1px solid var(--border-light);
    opacity: 1;
}

.nav-link {
    color: var(--primary) !important; /* #0066CC = 4.5:1 contrast op wit */
    font-weight: 600;
}

.nav-link:hover,
.nav-link:focus,
.nav-link.active {
    color: var(--text-dark) !important; /* #0F172A = 15.5:1 contrast */
    background: rgba(0, 102, 204, 0.08);
    opacity: 1;
}

/* Mobile menu op lichte achtergrond */
@media (max-width: 768px) {
    .nav-links {
        background: rgba(255, 255, 255, 0.98);
    }
    
    .nav-links .nav-link {
        color: var(--text-dark) !important;
    }
    
    .nav-links .nav-link:hover,
    .nav-links .nav-link.active {
        color: var(--primary) !important;
    }
}

/* ========== Hero Section ========== */
.hero-title,
.hero-subtitle,
.hero-badge {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.hero-subtitle {
    color: rgba(255, 255, 255, 1) !important;
}

.hero-scroll {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.hero-scroll .scroll-line {
    background: linear-gradient(to bottom, rgba(255,255,255,0.95), rgba(255,255,255,0.3));
}

/* ========== Buttons ========== */
.btn-primary {
    color: var(--text-on-primary-wcag) !important;
    font-weight: 600;
}

.btn-secondary {
    background: #428FE7;
    color: #FFFFFF !important;
    border: 2px solid #428FE7;
    font-weight: 600;
    backdrop-filter: none;
}

.btn-secondary:hover {
    background: #0B1993;
    border-color: #0B1993;
    backdrop-filter: none;
}

.btn-outline {
    color: var(--primary);
    border-color: var(--primary);
    font-weight: 600;
}

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

/* Buttons op donkere achtergrond */
.hero .btn-primary,
.cta-section .btn-primary,
.footer .btn-primary {
    color: var(--text-on-primary-wcag) !important;
}

.cta-section .btn-primary:hover {
    color: #0B1993 !important;
}

/* ========== Section Tags ========== */
.section-tag {
    color: #FFFFFF !important;
    background: #0B1993;
    border: 2px solid #428FE7;
    border-radius: 100px;
    padding: 8px 18px;
    font-weight: 600;
    /* Remove gradient text fill for better contrast */
    -webkit-text-fill-color: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
}

/* ========== Card Numbers (Decorative) ========== */
.card-number {
    color: var(--primary) !important;
    opacity: 0.08;
}

/* ========== Text on Images/Overlays ========== */
.project-card-image::after {
    background: linear-gradient(to top, rgba(0,0,0,0.65), transparent 50%) !important;
}

.project-image::after {
    background: linear-gradient(
        to top, 
        rgba(0,0,0,0.75), 
        rgba(0,0,0,0.4) 60%, 
        transparent 80%
    ) !important;
}

.project-card:hover .project-card-image::after {
    opacity: 1;
}

/* ========== Project Meta ========== */
.project-meta {
    color: var(--text-muted);
}

.project-client {
    color: #FFFFFF;
    font-weight: 700;
}

/* ========== Links ========== */
.project-link {
    color: var(--primary);
    font-weight: 600;
}

.project-link:hover {
    color: var(--primary-dark);
}

/* ========== Testimonials ========== */
.testimonial-card {
    background: var(--bg-white);
}

.testimonial-quote {
    color: var(--text-body);
}

.testimonial-rating {
    color: #F59E0B; /* Gold for stars with good contrast */
}

/* ========== Team Cards ========== */
.team-card .team-avatar {
    background: var(--gradient-primary);
    color: var(--text-on-primary-wcag);
    font-weight: 700;
}

.team-card .role {
    color: var(--text-muted);
}

/* ========== Stats Bar ========== */
.stats-bar {
    background: var(--bg-light);
}

.stat-number {
    color: var(--primary);
}

.stat-label {
    color: var(--text-body);
}

/* ========== Footer ========== */
.footer {
    background: var(--gradient-dark);
    color: var(--text-on-dark-wcag);
}

.footer-brand p {
    color: rgba(255, 255, 255, 0.9);
}

.footer-links h3 {
    color: var(--text-on-dark-wcag);
}

.footer-links a {
    color: rgba(255,255,255,0.9);
}

.footer-links a:hover {
    color: var(--text-on-dark-wcag);
}

.footer-bottom p {
    color: rgba(255,255,255,0.9);
}

.footer-bottom a {
    color: rgba(255,255,255,0.9);
}

.footer-bottom a:hover {
    color: var(--text-on-dark-wcag);
}

/* ========== Contact Form ========== */
.contact-form label {
    color: #000000 !important;  /* Zwart voor maximaal contrast op grijze achtergrond - 21:1 ✓ */
    font-weight: 600;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    color: #000000 !important;  /* Zwart voor ingevulde tekst */
    border-color: var(--primary);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.contact-form select::placeholder {
    color: #595959 !important;  /* Donkergrijs voor placeholders - 7:1 contrast ✓ */
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
    border-color: var(--primary);
}

/* ========== Process Section (Dark Background) ========== */
.proces {
    background: var(--gradient-dark);
}

.proces .section-tag {
    color: #FFFFFF !important;
    background: #0B1993 !important;
    border: 2px solid #428FE7 !important;
}

.proces h2 {
    color: var(--text-on-dark-wcag) !important;
}

.proces .lead,
.proces p {
    color: rgba(255, 255, 255, 0.9) !important;
}

.proces strong {
    color: var(--text-on-dark-wcag) !important;
    font-weight: 700;
}

/* ========== Process Steps ========== */
.step {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 24px;
    border-radius: 12px;
}

.step-number {
    background: var(--primary);
    color: var(--text-on-primary-wcag);
    font-weight: 800;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.5rem;
}

.step h3 {
    color: var(--text-on-dark-wcag) !important;
    margin: 16px 0 8px;
}

.step p {
    color: rgba(255, 255, 255, 0.85) !important;
    line-height: 1.6;
}

/* ========== Industry Cards ========== */
.industry-card h3 {
    color: var(--text-dark);
}

.industry-card ul li {
    color: var(--text-body);
}

/* ========== CTA Section ========== */
.cta-section {
    background: #0B1993;
    color: var(--text-on-primary-wcag);
}

.cta-section h2,
.cta-section p {
    color: var(--text-on-primary-wcag);
}

/* ========== Loader ========== */
.loader-text {
    color: #000000;
}

.loader-text span {
    color: #428FE7;
}

/* ========== Back to Top ========== */
.back-to-top {
    background: var(--primary);
    color: var(--text-on-primary-wcag);
}

.back-to-top:hover {
    background: var(--primary-dark);
}

/* ========== Logo & Powered By Ribbon ========== */
/* Logo en powered by styling komen uit main.css */

/* ========== Accent Color Updates ========== */
/* Update all accent color usage to the WCAG compliant version */
button[style*="background"][style*="E85D04"],
.accent-bg {
    background-color: var(--accent-wcag) !important;
}

a[style*="color"][style*="E85D04"],
.accent-text {
    color: var(--accent-wcag) !important;
}

/* ========== Ensure Minimum Touch Target Sizes ========== */
@media (pointer: coarse) {
    .nav-link,
    .btn,
    button,
    a {
        min-height: 44px;
        min-width: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* ========== High Contrast Mode Support ========== */
@media (prefers-contrast: high) {
    .hero-subtitle,
    .footer-links a,
    .footer-bottom p {
        color: var(--text-on-dark-wcag) !important;
    }
    
    .btn-secondary {
        background: rgba(255,255,255,0.3);
        border-width: 3px;
    }
    
    .section-tag {
        border: 2px solid var(--primary);
    }
}

/* ========== Print Styles ========== */
@media print {
    * {
        color: #000 !important;
        background: #fff !important;
    }
    
    .hero,
    .footer {
        color: #000 !important;
    }
}

/* ========== Focus Indicators ========== */
/* Ensure all interactive elements have visible focus indicators */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.nav-link:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 2px;
}

/* ========== Additional Text Contrast Fixes ========== */
.text-muted {
    color: var(--text-muted) !important;
}

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

/* Hero content specific fixes */
.hero-content * {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

/* Ensure proper contrast on all headings */
h1, h2, h3, h4, h5, h6 {
    color: var(--text-dark);
}

/* Headings on dark backgrounds */
.hero h1,
.cta-section h2,
.footer h1,
.footer h2,
.footer h3,
.footer h4 {
    color: var(--text-on-dark-wcag) !important;
}
