/*
 * Final accessibility and legibility pass.
 * Loaded after the main visual system so controls and small metadata remain
 * comfortable across screen sizes and browser zoom levels.
 */

[hidden] {
	display: none !important;
}

::selection {
	background: var(--lime);
	color: var(--ink);
}

.button,
.account-link,
.catalog-filters button,
.billing-toggle button,
.search-submit,
.mobile-menu summary {
	min-height: 44px;
}

button,
summary {
	touch-action: manipulation;
}

.mobile-menu summary {
	cursor: pointer;
}

.catalog-scorecard span,
.path-course-step__label,
.pricing-card__label,
.membership-note,
.lesson-header__badge span,
.lesson-rail__label,
.lesson-rail nav > span,
.lesson-content ol > li::before,
.footer-bottom,
.journal-card__meta,
.article-byline div span,
.article-aside > span,
.article-aside > a,
.search-results__list article > p {
	font-size: 0.75rem;
}

.course-card__eyebrow,
.course-card__meta,
.course-card__cta,
.catalog-filters button,
.path-jump a,
.footer-column a,
.checkout-assurance li,
.about-principles p,
.contact-info-card li {
	font-size: 0.82rem;
}

.lesson-rail nav ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lesson-rail nav li {
	border-top: 1px solid var(--line);
	color: var(--text);
	font-size: 0.8rem;
	padding: 0.6rem 0;
}

.contact-form input,
.contact-form select,
.contact-form textarea,
.search-field,
.catalog-search input,
.llms-form-field input,
.llms-form-field select,
.llms-form-field textarea {
	font-size: 1rem !important;
}

@media (forced-colors: active) {
	.button,
	.course-card,
	.pricing-card,
	.lesson-content,
	.dashboard-card {
		border: 1px solid CanvasText;
	}
}

@media print {
	.site-header,
	.site-footer,
	.mobile-menu,
	.lesson-rail,
	.course-enroll-card {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}

	.site-shell {
		max-width: none;
		padding: 0;
	}
}
