/**
 * Accessibility Enhancements
 * Improves contrast ratios and accessibility without changing the design feel
 */

/* Enhanced focus states for better visibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: 3px solid #2A0D1A;
	outline-offset: 2px;
	border-radius: 2px;
}

/* Skip to content link for keyboard navigation */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #2A0D1A;
	color: #F0B79D;
	padding: 8px 16px;
	text-decoration: none;
	z-index: 9999;
	font-weight: 600;
}

.skip-link:focus {
	top: 0;
}

/* Ensure body text uses full opacity for better contrast */
.text-plum {
	color: #2A0D1A !important; /* Use full opacity for body text */
}

/* Use reduced opacity only for decorative/secondary text */
.text-plum\/90 {
	color: rgba(42, 13, 26, 0.9); /* 90% opacity - still meets WCAG AA for large text */
}

.text-plum\/85 {
	color: rgba(42, 13, 26, 0.85); /* 85% opacity - use sparingly, only for large text */
}

.text-plum\/80 {
	color: rgba(42, 13, 26, 0.80); /* 80% opacity - use only for decorative text */
}

.text-plum\/75 {
	color: rgba(42, 13, 26, 0.75); /* 75% opacity - use only for labels/very large text */
}

/* Ensure buttons have sufficient contrast */
.bg-plum {
	background-color: #2A0D1A;
}

.bg-plum:hover {
	background-color: #1F0A14;
}

/* Improve link contrast on sage background */
.bg-sage a:not(.bg-plum) {
	color: #2A0D1A;
	text-decoration: none;
}

.bg-sage a:not(.bg-plum):hover {
	color: #1F0A14;
}

/* Ensure form inputs have good contrast */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	color: #2A0D1A;
	background-color: rgba(127, 149, 132, 0.3);
	border-color: rgba(127, 149, 132, 0.6);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
	background-color: rgba(127, 149, 132, 0.4);
	border-color: #2A0D1A;
}

/* Improve placeholder contrast */
input::placeholder,
textarea::placeholder {
	color: rgba(42, 13, 26, 0.55);
	opacity: 1; /* Override browser default */
}

/* Ensure stat cards and info boxes have sufficient contrast */
.bg-sage\/95 {
	background-color: rgba(127, 149, 132, 0.95);
}

.bg-sage\/90 {
	background-color: rgba(127, 149, 132, 0.90);
}

.bg-sage\/80 {
	background-color: rgba(127, 149, 132, 0.80);
}

/* Cream background for article cards */
.bg-cream {
	background-color: #FAF8F3;
}

/* Improve contrast for borders */
.border-plum\/30 {
	border-color: rgba(42, 13, 26, 0.3);
}

.border-plum\/25 {
	border-color: rgba(42, 13, 26, 0.25);
}

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

/* Ensure icons have sufficient contrast when used as indicators */
[class*="bg-roseclay"] svg,
[class*="bg-deepteal"] svg,
[class*="bg-burntamber"] svg {
	color: currentColor;
}

/* Improve contrast for disabled states */
button:disabled,
input:disabled,
textarea:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Ensure sufficient contrast for error states */
.error,
.invalid {
	color: #A03D33;
	border-color: #A03D33;
}

/* Improve contrast for success states */
.success,
.valid {
	color: #2A5A59;
	border-color: #2A5A59;
}

