
/* FONT CONTRAST FIXES - WCAG AA Compliant */
:root {
    --kent-blue: #0066cc;
    --kent-dark-blue: #004499;
    --kent-orange: #ff6600;
    --text-on-white: #333333;
    --text-on-blue: #ffffff;
    --text-on-dark: #ffffff;
}

/* Ensure readable text on all backgrounds */
body {
    color: var(--text-on-white);
    background-color: #ffffff;
}

/* Headers with blue background need white text */
.kent-header,
header.kent-header,
.header-blue {
    background-color: var(--kent-blue) !important;
    color: var(--text-on-blue) !important;
}

.kent-header h1,
.kent-header h2,
.kent-header h3,
.kent-header a,
.kent-header nav a {
    color: var(--text-on-blue) !important;
}

/* Main content - dark text on white */
main,
.main-content,
.content-area {
    background-color: #ffffff;
    color: var(--text-on-white);
}

/* Buttons - ensure contrast */
.btn-primary,
.button-primary {
    background-color: var(--kent-blue);
    color: var(--text-on-blue);
    border: none;
}

.btn-secondary,
.button-secondary {
    background-color: var(--kent-orange);
    color: var(--text-on-blue);
    border: none;
}

/* Footer - dark background, white text */
footer,
.footer,
.kent-footer {
    background-color: var(--kent-dark-blue);
    color: var(--text-on-dark);
}

footer a,
.footer a {
    color: var(--text-on-dark);
    text-decoration: underline;
}

/* Ensure all links are visible */
a {
    color: var(--kent-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Fix any light text on light background */
.light-text {
    color: var(--text-on-white) !important;
}

/* Fix any dark text on dark background */
.dark-bg {
    color: var(--text-on-dark) !important;
}


/* CENTRAL ALIGNMENT FIX - Added to kent-contrast-fix.css */

/* Ensure main content container is centered */
.main-content {
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 2rem 20px;
}

/* Center text in main content areas */
.main-content > .kent-container {
    text-align: center;
}

/* But keep paragraphs left-aligned for readability */
.main-content p,
.main-content ul,
.main-content ol {
    text-align: left;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Center headings */
.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* Center hero sections */
.hero,
.hero-section {
    text-align: center !important;
}

/* Ensure containers are centered */
.kent-container,
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Center service cards and features */
.service-card,
.feature-card,
.card {
    margin: 0 auto;
}

/* Grid layouts should be centered */
.grid,
.services-grid,
.features-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 2rem;
    padding: 0 20px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .main-content {
        padding: 1rem 15px;
    }
    
    .main-content p {
        max-width: 100%;
    }
}
