/* ============================================
   TYPOGRAPHY - Improved Font Sizes & Colors
   ============================================ */

/* Default body text - white for better contrast */
body {
    color: #ffffff;
}

/* Improved default text colors - white for readability */
p, span, div, li, td, th, a, label {
    color: #ffffff;
}

/* Override ALL Tailwind neutral text colors to white */
/* Using attribute selectors to catch all instances */
[class*="text-neutral-200"],
[class*="text-neutral-300"],
[class*="text-neutral-400"],
[class*="text-neutral-500"] {
    color: #ffffff !important;
}

/* Specific overrides for common elements with neutral classes */
p.text-neutral-400,
p.text-neutral-300,
p.text-neutral-200,
p.text-neutral-500,
span.text-neutral-400,
span.text-neutral-300,
span.text-neutral-200,
span.text-neutral-500,
div.text-neutral-400,
div.text-neutral-300,
div.text-neutral-200,
div.text-neutral-500,
li.text-neutral-400,
li.text-neutral-300,
li.text-neutral-200,
li.text-neutral-500,
a.text-neutral-400,
a.text-neutral-300,
a.text-neutral-200,
a.text-neutral-500,
ul.text-neutral-400,
ul.text-neutral-300,
ul.text-neutral-200,
ul.text-neutral-500 {
    color: #ffffff !important;
}

/* Footer Styles - Larger Text Sizes */
footer {
    font-size: 1rem; /* Base footer text size */
}

footer h4 {
    font-size: 1rem !important; /* 16px - increased from text-sm (14px) */
    font-weight: 700;
}

footer ul {
    font-size: 1rem !important; /* 16px - increased from text-xs (12px) or text-sm (14px) */
}

footer p {
    font-size: 1.125rem !important; /* 18px - increased from text-sm (14px) */
    line-height: 1.75;
}

footer .text-xs {
    font-size: 0.875rem !important; /* 14px - increased from 12px */
}

footer .text-sm {
    font-size: 0.875rem !important; /* 14px - increased from default */
}

/* Footer copyright - make slightly lighter grey but still visible */
footer .text-neutral-500,
.text-neutral-500.font-normal {
    color: #b3b3b3 !important; /* Lighter grey for copyright, still visible */
    font-size: 0.875rem !important; /* 14px - increased from text-xs (12px) */
}

/* Improved font size defaults */
body {
    font-size: 18px;
    line-height: 1.7;
    font-weight: 500; /* Medium weight for body text */
}

/* Override Tailwind font-weight classes to use Medium/Bold weights */
/* Map font-light (300) to Medium (500) */
.font-light,
[class*="font-light"] {
    font-weight: 500 !important; /* Medium instead of Light */
}

/* Map font-normal (400) to Medium (500) */
.font-normal,
[class*="font-normal"] {
    font-weight: 500 !important; /* Medium instead of Normal */
}

/* Ensure font-medium (500) is explicitly set */
.font-medium,
[class*="font-medium"] {
    font-weight: 500 !important;
}

/* Map font-semibold (600) to Bold (700) since we don't have 600 weight */
.font-semibold,
[class*="font-semibold"] {
    font-weight: 700 !important; /* Bold instead of Semibold */
}

/* Ensure font-bold (700) is explicitly set */
.font-bold,
[class*="font-bold"] {
    font-weight: 700 !important;
}

/* Global Typography - Larger, More Inviting Text Sizes */
/* Base paragraph text - larger default */
p {
    font-size: 1.125rem; /* 18px */
    line-height: 1.75;
    font-weight: 500; /* Medium weight for paragraphs */
}

/* Headings - Larger sizes globally */
h1 {
    font-size: clamp(2.5rem, 5vw, 6rem); /* Responsive scaling */
    line-height: 1.1;
    font-weight: 700;
}

h2 {
    font-size: clamp(2rem, 4vw, 4.5rem);
    line-height: 1.2;
    font-weight: 700;
}

h3 {
    font-size: clamp(1.75rem, 3vw, 3rem);
    line-height: 1.3;
    font-weight: 700;
}

h4 {
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
    line-height: 1.4;
    font-weight: 700; /* Bold instead of 600 */
}

h5 {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.5;
    font-weight: 700; /* Bold instead of 600 */
}

h6 {
    font-size: clamp(1.125rem, 1.5vw, 1.5rem);
    line-height: 1.5;
    font-weight: 700; /* Bold instead of 600 */
}

/* Larger body text for better readability */
.text-base {
    font-size: 1.125rem !important; /* 18px instead of 16px */
    line-height: 1.75;
}

.text-lg {
    font-size: 1.25rem !important; /* 20px instead of 18px */
    line-height: 1.75;
}

.text-xl {
    font-size: 1.5rem !important; /* 24px instead of 20px */
    line-height: 1.75;
}

.text-2xl {
    font-size: 1.875rem !important; /* 30px instead of 24px */
    line-height: 1.6;
}

.text-3xl {
    font-size: 1.875rem !important; /* 30px - matching index.html */
    line-height: 1.6;
}

@media (min-width: 768px) {
    .text-3xl {
        font-size: 1.875rem !important; /* 30px on md+ */
    }
}

/* Comprehensive override for ALL text-neutral-* classes */
[class*="text-neutral-"]:not(footer .text-neutral-500):not(.text-neutral-500.font-normal) {
    color: #ffffff !important;
}

/* Ensure headings are white */
h1, h2, h3, h4, h5, h6 {
    color: #ffffff;
}
