/* Accessibility Toolbar Styles */
	.accessibility-toolbar {
		position: fixed;
		top: 40px;
		right: 20px;
		z-index: 10001;
		background: white;
		border-radius: 10px;
		box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
		padding: 20px;
		width: 390px;
		display: none;
		border: 1px solid #ddd;
	}

	.accessibility-toolbar.show {
		display: block;
	}

	.toolbar-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 20px;
		padding-bottom: 15px;
		border-bottom: 2px solid #3498db;
	}

	.toolbar-header h4 {
		margin: 0;
		color: #2c3e50;
		font-size: 18px;
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.toolbar-close-btn {
		background: none;
		border: none;
		font-size: 24px;
		cursor: pointer;
		color: #7f8c8d;
		line-height: 1;
	}

	.toolbar-close-btn:hover {
		color: #e74c3c;
	}

	.toolbar-section {
		margin-bottom: 20px;
		padding-bottom: 15px;
		border-bottom: 1px solid #eee;
	}

	.toolbar-section h5 {
		margin: 0 0 10px 0;
		color: #2c3e50;
		font-size: 16px;
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.toolbar-buttons {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.toolbar-btn {
		padding: 10px;
		border: 2px solid #ddd;
		background: #f8f9fa;
		border-radius: 5px;
		cursor: pointer;
		font-size: 14px;
		font-weight: 500;
		transition: all 0.2s ease;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}

	.toolbar-btn:hover {
		background: #e9ecef;
	}

	.toolbar-btn.active {
		background: #3498db;
		color: white;
		border-color: #3498db;
	}

	.toolbar-btn i {
		font-size: 16px;
	}

	/* TTS specific controls within toolbar */
	.tts-language-selector {
		margin-bottom: 15px;
	}

	.tts-language-selector label {
		display: block;
		margin-bottom: 5px;
		color: #34495e;
		font-weight: 500;
		font-size: 14px;
	}

	.tts-language-selector select {
		width: 100%;
		padding: 8px;
		border: 1px solid #ddd;
		border-radius: 4px;
		font-size: 14px;
		background: white;
	}

	.tts-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		margin: 15px 0;
	}

	.tts-btn {
		padding: 10px;
		border: none;
		border-radius: 5px;
		cursor: pointer;
		font-size: 14px;
		font-weight: 500;
		transition: all 0.2s ease;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 5px;
	}

	.tts-play-btn {
		background: #2ecc71;
		color: white;
		grid-column: span 1;
	}

	.tts-play-btn:hover {
		background: #27ae60;
	}

	.tts-stop-btn {
		background: #e74c3c;
		color: white;
	}

	.tts-stop-btn:hover {
		background: #c0392b;
	}

	.tts-highlight-info {
		margin-top: 10px;
		padding: 10px;
		background: #f8f9fa;
		border-radius: 5px;
		border-left: 4px solid #3498db;
		font-size: 12px;
		color: #555;
	}

	#tts-current-text {
		font-style: italic;
		color: #2c3e50;
		display: block;
		margin-top: 5px;
		max-height: 40px;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 11px;
	}

	/* Accessibility states */
	.high-contrast {
		filter: contrast(1.5) !important;
	}

	.highlight-links a {
		background-color: #fff3cd !important;
		padding: 2px 4px !important;
		border-radius: 3px !important;
		border: 2px solid #ffc107 !important;
		color: #856404 !important;
	}

	.highlight-links a:hover {
		background-color: #ffeaa7 !important;
	}

	.invert-colors {
		filter: invert(1) hue-rotate(180deg) !important;
		background-color: #000 !important;
	}

	.invert-colors img {
		filter: invert(1) hue-rotate(180deg) !important;
	}

	.increased-line-height * {
		line-height: 1.8 !important;
	}

	/* Text Spacing Styles */
	.text-spacing * {
		letter-spacing: 0.05em !important;
		word-spacing: 0.10em !important;
		line-height: 2 !important;
	}

	.text-spacing h1,
	.text-spacing h2,
	.text-spacing h3,
	.text-spacing h4,
	.text-spacing h5,
	.text-spacing h6 {
		letter-spacing: 0.08em !important;
		word-spacing: 0.07em !important;
	}

	/* Speaking highlight */
	.tts-speaking {
		background-color: rgba(52, 152, 219, 0.2) !important;
		transition: background-color 0.3s ease;
		outline: 2px solid #3498db !important;
	}

	/* Reset button */
	.reset-btn {
		background: #95a5a6 !important;
		color: white !important;
		grid-column: span 2;
	}

	.reset-btn:hover {
		background: #7f8c8d !important;
	}

	/* For Marathi text support */
	.marathi-text {
		font-family: 'Hind', sans-serif;
	}

	/* Text Size Classes */
	.text-size-small * {
		font-size: 99% !important;
	}
	
	.text-size-normal * {
		font-size: 100% !important;
	}
	
	.text-size-large * {
		font-size: 103% !important;
	}
	
	/* Preserve icon sizes */
	.text-size-small .fa,
	.text-size-normal .fa,
	.text-size-large .fa {
		font-size: inherit !important;
	}
	
	/* Preserve button and form element sizes */
	.text-size-small button,
	.text-size-small input,
	.text-size-small select,
	.text-size-small textarea,
	.text-size-normal button,
	.text-size-normal input,
	.text-size-normal select,
	.text-size-normal textarea,
	.text-size-large button,
	.text-size-large input,
	.text-size-large select,
	.text-size-large textarea,
	.text-size-xlarge button,
	.text-size-xlarge input,
	.text-size-xlarge select,
	.text-size-xlarge textarea {
		font-size: inherit !important;
	}