/* ==========================================================================
   EVIDYA — MAIN STYLESHEET
   Design system + layout + components used across all modules/phases.
   ========================================================================== */

/* ---------- 1. DESIGN TOKENS ---------- */
:root {
	--evidya-primary: #4f46e5;       /* Indigo */
	--evidya-primary-dark: #3730a3;
	--evidya-secondary: #0ea5e9;     /* Sky blue */
	--evidya-success: #16a34a;       /* Green - correct answer */
	--evidya-success-bg: #dcfce7;
	--evidya-danger: #dc2626;        /* Red - wrong answer */
	--evidya-danger-bg: #fee2e2;
	--evidya-warning: #f59e0b;
	--evidya-text: #1f2937;
	--evidya-text-muted: #6b7280;
	--evidya-border: #e5e7eb;
	--evidya-bg: #f8f9fc;
	--evidya-card-bg: #ffffff;
	--evidya-radius: 10px;
	--evidya-radius-sm: 6px;
	--evidya-shadow: 0 2px 8px rgba(0,0,0,0.06);
	--evidya-shadow-hover: 0 6px 18px rgba(0,0,0,0.10);
	--evidya-container: 1200px;
	--evidya-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- 2. RESET / BASE ---------- */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--evidya-font);
	color: var(--evidya-text);
	background: var(--evidya-bg);
	margin: 0;
	line-height: 1.6;
	font-size: 16px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--evidya-primary); text-decoration: none; }
a:hover { color: var(--evidya-primary-dark); }
ul { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .5em; line-height: 1.3; font-weight: 700; }

.evidya-container {
	max-width: var(--evidya-container);
	margin: 0 auto;
	padding: 0 16px;
}

.screen-reader-text {
	position: absolute !important;
	left: -9999px;
}

/* ---------- 3. BUTTONS ---------- */
.evidya-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 18px;
	border-radius: var(--evidya-radius-sm);
	background: var(--evidya-primary);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	border: none;
	cursor: pointer;
	transition: background .15s ease, transform .1s ease;
}
.evidya-btn:hover { background: var(--evidya-primary-dark); color: #fff; }
.evidya-btn--outline {
	background: transparent;
	color: var(--evidya-primary);
	border: 1px solid var(--evidya-primary);
}
.evidya-btn--outline:hover { background: var(--evidya-primary); color: #fff; }
.evidya-btn--ghost {
	background: var(--evidya-bg);
	color: var(--evidya-text);
	border: 1px solid var(--evidya-border);
}
.evidya-btn--ghost:hover { background: #eef0f5; }
.evidya-btn--sm { padding: 6px 12px; font-size: 13px; }
.evidya-btn--block { width: 100%; }

/* ---------- 4. HEADER ---------- */
.evidya-header {
	background: var(--evidya-card-bg);
	border-bottom: 1px solid var(--evidya-border);
	position: sticky;
	top: 0;
	z-index: 100;
}
.evidya-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 16px;
}
.evidya-logo { font-size: 22px; font-weight: 800; color: var(--evidya-primary); display: flex; align-items: center; gap: 8px; }
.evidya-logo img { max-height: 40px; }

.evidya-nav { display: flex; }
.evidya-nav ul { display: flex; gap: 22px; list-style: none; }
.evidya-nav a { color: var(--evidya-text); font-weight: 600; font-size: 15px; }
.evidya-nav a:hover, .evidya-nav .current-menu-item > a { color: var(--evidya-primary); }

.evidya-header__actions { display: flex; align-items: center; gap: 12px; }

.evidya-menu-toggle {
	display: none;
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: var(--evidya-text);
}

/* ---------- 5. HERO / BANNER ---------- */
.evidya-hero {
	background: linear-gradient(135deg, var(--evidya-primary), var(--evidya-secondary));
	color: #fff;
	padding: 50px 16px;
	text-align: center;
}
.evidya-hero h1 { font-size: 32px; margin-bottom: 10px; }
.evidya-hero p { font-size: 16px; opacity: .92; max-width: 640px; margin: 0 auto 20px; }
.evidya-hero-search {
	max-width: 560px;
	margin: 0 auto;
	display: flex;
	background: #fff;
	border-radius: 50px;
	overflow: hidden;
	box-shadow: var(--evidya-shadow);
}
.evidya-hero-search input {
	flex: 1;
	border: none;
	padding: 14px 20px;
	font-size: 15px;
	outline: none;
}
.evidya-hero-search button {
	border: none;
	background: var(--evidya-primary-dark);
	color: #fff;
	padding: 0 24px;
	font-weight: 700;
	cursor: pointer;
}

/* Hero CTA buttons */
.evidya-hero-actions {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 20px;
}
.evidya-btn--hero {
	background: #fff;
	color: var(--evidya-primary);
	font-weight: 700;
	padding: 12px 26px;
	border-radius: 50px;
}
.evidya-btn--hero:hover { background: #f3f4f6; color: var(--evidya-primary-dark); }
.evidya-btn--hero-outline {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255,255,255,.6);
}
.evidya-btn--hero-outline:hover { background: rgba(255,255,255,.15); color: #fff; }

/* Hero stats counters */
.evidya-hero-stats {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-top: 28px;
	flex-wrap: wrap;
}
.evidya-hero-stat { text-align: center; color: #fff; }
.evidya-hero-stat strong { display: block; font-size: 28px; font-weight: 800; line-height: 1.2; }
.evidya-hero-stat span { font-size: 13px; opacity: .85; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 480px) {
	.evidya-hero-stats { gap: 24px; }
	.evidya-hero-stat strong { font-size: 22px; }
}

/* Footer social links */
.evidya-footer__social { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 10px; }
.evidya-footer__social a { font-size: 13px; font-weight: 600; }

/* ---------- DOC BLOCK (Books) — Homepage horizontal strips ---------- */
.evidya-doc-strip { margin-bottom: 28px; }
.evidya-doc-strip__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.evidya-doc-strip__head h3 { font-size: 18px; font-weight: 700; }

.evidya-doc-scroll {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.evidya-doc-scroll::-webkit-scrollbar { height: 6px; }
.evidya-doc-scroll::-webkit-scrollbar-thumb { background: var(--evidya-border); border-radius: 10px; }

.evidya-doc-card {
	flex: 0 0 auto;
	width: 140px;
	scroll-snap-align: start;
	display: block;
	color: inherit;
}
.evidya-doc-card__thumb {
	width: 140px;
	height: 190px;
	border-radius: var(--evidya-radius);
	overflow: hidden;
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	box-shadow: var(--evidya-shadow);
}
.evidya-doc-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.evidya-doc-card__placeholder {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	font-size: 40px;
	background: #f3f4f6;
}
.evidya-doc-card__title {
	margin-top: 8px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---------- DOC TYPE ARCHIVE GRID — 6 desktop / 3 tablet / 2 mobile ---------- */
.evidya-doc-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
}
@media (max-width: 1024px) {
	.evidya-doc-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.evidya-doc-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
.evidya-doc-grid .evidya-doc-card { width: 100%; }
.evidya-doc-grid .evidya-doc-card__thumb { width: 100%; height: 0; padding-bottom: 135%; position: relative; }
.evidya-doc-grid .evidya-doc-card__thumb img,
.evidya-doc-grid .evidya-doc-card__thumb .evidya-doc-card__placeholder {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%;
}

/* ---------- SINGLE DOC PAGE ---------- */
.evidya-doc-single__head { margin-bottom: 16px; }
.evidya-doc-single__meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }
.evidya-doc-single__actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px; }

.evidya-doc-viewer { display: flex; flex-direction: column; gap: 10px; margin-bottom: 30px; }
.evidya-doc-viewer img {
	width: 100%;
	max-width: 100%;
	border-radius: var(--evidya-radius-sm);
	border: 1px solid var(--evidya-border);
	background: #f3f4f6;
	min-height: 200px;
}
.evidya-doc-page-placeholder {
	width: 100%;
	min-height: 400px;
	background: #f3f4f6;
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--evidya-text-muted);
	font-size: 13px;
}

/* Page View (book-style paginated reader) */
.evidya-doc-pageview { display: none; }
.evidya-doc-pageview.active { display: block; }
.evidya-doc-pageview__frame {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f3f4f6;
	border-radius: var(--evidya-radius);
	border: 1px solid var(--evidya-border);
	min-height: 500px;
	padding: 10px;
}
.evidya-doc-pageview__frame img { max-width: 100%; max-height: 80vh; }
.evidya-doc-pageview__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 14px;
}
.evidya-doc-pageview__nav span { font-size: 13px; color: var(--evidya-text-muted); }

/* ---------- 6. SECTION HEADINGS ---------- */
.evidya-section { padding: 40px 16px; }
.evidya-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 20px;
	flex-wrap: wrap;
	gap: 8px;
}
.evidya-section__head h2 { font-size: 24px; }
.evidya-section__head .evidya-section__link { font-weight: 600; font-size: 14px; }

/* ---------- 7. HOMEPAGE — SUBJECTS BLOCK ---------- */
.evidya-subjects-block { padding: 40px 16px; }
.evidya-subject-group { margin-bottom: 36px; }
.evidya-subject-group__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--evidya-border);
}
.evidya-subject-group__head h2 {
	font-size: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--evidya-primary-dark);
}
.evidya-subject-group__head h2::before {
	content: "";
	width: 8px;
	height: 22px;
	background: var(--evidya-primary);
	border-radius: 3px;
	display: inline-block;
}
.evidya-subject-group__view-all { font-size: 13px; font-weight: 600; }

/* Topics Grid: 2 cols desktop & tablet / 1 col mobile (ribbon banner style) */
.evidya-topics-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}
@media (max-width: 599px) {
	.evidya-topics-grid { grid-template-columns: 1fr; }
}

/* Ribbon-style Topic card (examveda "Competitive Exam MCQ" reference style) */
.evidya-ribbon-card {
	--ribbon-color: #4f46e5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--ribbon-color);
	border-radius: 4px;
	overflow: hidden;
	min-height: 60px;
	box-shadow: var(--evidya-shadow);
	transition: transform .15s ease, box-shadow .15s ease;
}
.evidya-ribbon-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--evidya-shadow-hover);
}
.evidya-ribbon-card__title {
	color: #fff;
	font-weight: 800;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: .02em;
	padding: 14px 16px;
	line-height: 1.3;
}
.evidya-ribbon-card__badge-wrap {
	flex-shrink: 0;
	width: 90px;
	height: 60px;
	background: #fff;
	clip-path: polygon(35% 0, 100% 0, 100% 100%, 0% 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.evidya-ribbon-card__badge {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 2px solid var(--ribbon-color);
	color: var(--ribbon-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .03em;
}
@media (max-width: 380px) {
	.evidya-ribbon-card__title { font-size: 12px; padding: 12px; }
	.evidya-ribbon-card__badge-wrap { width: 70px; }
	.evidya-ribbon-card__badge { width: 36px; height: 36px; font-size: 9px; }
}
.evidya-empty { color: var(--evidya-text-muted); font-size: 14px; font-style: italic; }

/* ---------- 8. TOPIC PAGE — SUBTOPIC LIST ---------- */
.evidya-subtopic-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.evidya-subtopic-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	padding: 16px 18px;
	box-shadow: var(--evidya-shadow);
	flex-wrap: wrap;
}
.evidya-subtopic-item__info h3 { font-size: 16px; margin-bottom: 4px; }
.evidya-subtopic-item__info p { font-size: 13px; color: var(--evidya-text-muted); margin: 0; }
.evidya-subtopic-item__count { font-size: 12px; color: var(--evidya-text-muted); margin-right: 10px; }

/* ---------- 9. MCQ BLOCK (listing + single) ---------- */
.evidya-mcq-list { display: flex; flex-direction: column; gap: 18px; }
.evidya-mcq-block {
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	padding: 20px;
	box-shadow: var(--evidya-shadow);
}
.evidya-mcq-block__question {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 14px;
	display: flex;
	gap: 10px;
}
.evidya-mcq-block__qno {
	flex-shrink: 0;
	width: 28px; height: 28px;
	border-radius: 50%;
	background: var(--evidya-primary);
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 13px;
}

.evidya-mcq-options { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.evidya-mcq-option {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius-sm);
	cursor: pointer;
	background: #fff;
	font-size: 14.5px;
	transition: border-color .12s ease, background .12s ease;
}
.evidya-mcq-option:hover { border-color: var(--evidya-primary); background: #f5f6ff; }
.evidya-mcq-option__label {
	flex-shrink: 0;
	width: 26px; height: 26px;
	border-radius: 50%;
	border: 1px solid var(--evidya-border);
	display: flex; align-items: center; justify-content: center;
	font-size: 12px; font-weight: 700;
	background: var(--evidya-bg);
}

/* Answer reveal states - options remain clickable to re-explore */
.evidya-mcq-option.is-correct {
	background: var(--evidya-success-bg);
	border-color: var(--evidya-success);
	color: #14532d;
}
.evidya-mcq-option.is-correct .evidya-mcq-option__label {
	background: var(--evidya-success);
	color: #fff;
	border-color: var(--evidya-success);
}
.evidya-mcq-option.is-wrong {
	background: var(--evidya-danger-bg);
	border-color: var(--evidya-danger);
	color: #7f1d1d;
}
.evidya-mcq-option.is-wrong .evidya-mcq-option__label {
	background: var(--evidya-danger);
	color: #fff;
	border-color: var(--evidya-danger);
}

.evidya-mcq-feedback {
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 14px;
	display: none;
	padding: 8px 12px;
	border-radius: var(--evidya-radius-sm);
}
.evidya-mcq-feedback.show { display: block; }
.evidya-mcq-feedback.correct { background: var(--evidya-success-bg); color: var(--evidya-success); }
.evidya-mcq-feedback.wrong { background: var(--evidya-danger-bg); color: var(--evidya-danger); }

/* Answer & Solution panel */
.evidya-mcq-solution {
	display: none;
	margin-top: 10px;
	padding: 14px;
	background: var(--evidya-bg);
	border-left: 3px solid var(--evidya-primary);
	border-radius: var(--evidya-radius-sm);
	font-size: 14px;
	color: var(--evidya-text);
}
.evidya-mcq-solution.show { display: block; }

/* MCQ action buttons row */
.evidya-mcq-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--evidya-border);
}
.evidya-mcq-actions .evidya-btn { font-size: 13px; padding: 8px 14px; }
.evidya-mcq-actions .is-bookmarked { background: var(--evidya-warning); border-color: var(--evidya-warning); color: #fff; }

/* ---------- 10. PAGINATION ---------- */
.evidya-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 30px;
	flex-wrap: wrap;
}
.evidya-pagination a, .evidya-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border-radius: var(--evidya-radius-sm);
	border: 1px solid var(--evidya-border);
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: var(--evidya-text);
}
.evidya-pagination .current { background: var(--evidya-primary); color: #fff; border-color: var(--evidya-primary); }
.evidya-pagination a:hover { border-color: var(--evidya-primary); color: var(--evidya-primary); }

/* ---------- 11. BREADCRUMBS ---------- */
.evidya-breadcrumbs { padding: 14px 0; font-size: 13px; }
.evidya-breadcrumbs ol { list-style: none; display: flex; gap: 6px; flex-wrap: wrap; padding: 0; }
.evidya-breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 6px; color: var(--evidya-text-muted); }
.evidya-breadcrumbs li { color: var(--evidya-text-muted); }
.evidya-breadcrumbs a { color: var(--evidya-text-muted); }
.evidya-breadcrumbs a:hover { color: var(--evidya-primary); }

/* ---------- 12. SINGLE MCQ / EXAM PAPER PAGE ---------- */
.evidya-single-wrap { padding: 24px 16px 50px; }
.evidya-single-card {
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	padding: 24px;
	box-shadow: var(--evidya-shadow);
	margin-bottom: 24px;
}
.evidya-share-buttons { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.evidya-share-buttons .share-label { font-weight: 700; font-size: 13px; margin-right: 4px; }
.share-btn {
	font-size: 12px;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: 50px;
	border: 1px solid var(--evidya-border);
	background: #fff;
	cursor: pointer;
	color: var(--evidya-text);
}
.share-btn:hover { border-color: var(--evidya-primary); color: var(--evidya-primary); }

.evidya-similar-block { margin-top: 30px; }
.evidya-similar-block h3 { font-size: 18px; margin-bottom: 14px; }

/* ---------- 13. PRACTICE MODULE ---------- */
.evidya-practice-setup { max-width: 640px; margin: 0 auto; }
.evidya-practice-step { margin-bottom: 24px; }
.evidya-practice-step label { display: block; font-weight: 700; margin-bottom: 8px; }
.evidya-practice-step select,
.evidya-practice-step input[type="text"] {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius-sm);
	font-size: 14px;
	background: #fff;
}
.evidya-timer-options { display: flex; gap: 10px; flex-wrap: wrap; }
.evidya-timer-options label {
	font-weight: 500;
	display: flex; align-items: center; gap: 6px;
	border: 1px solid var(--evidya-border);
	padding: 8px 14px;
	border-radius: 50px;
	cursor: pointer;
}
.evidya-timer-options input { margin: 0; }

.evidya-session-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	padding: 14px 18px;
	margin-bottom: 18px;
	position: sticky;
	top: 70px;
	z-index: 10;
}
.evidya-session-timer { font-weight: 800; font-size: 18px; color: var(--evidya-primary); }

.evidya-results-card { text-align: center; padding: 30px; }
.evidya-results-score { font-size: 42px; font-weight: 800; color: var(--evidya-primary); }
.evidya-results-grid { display: flex; gap: 20px; justify-content: center; margin: 20px 0; flex-wrap: wrap; }
.evidya-results-stat { background: var(--evidya-bg); border-radius: var(--evidya-radius); padding: 16px 24px; min-width: 120px; }
.evidya-results-stat strong { display: block; font-size: 24px; }
.evidya-results-stat.correct strong { color: var(--evidya-success); }
.evidya-results-stat.wrong strong { color: var(--evidya-danger); }
#evidya-practice-restart { margin-top: 10px; }

/* Selected (not yet revealed) option state during practice session */
.evidya-mcq-option.is-selected {
	background: #eef0ff;
	border-color: var(--evidya-primary);
}
.evidya-mcq-option.is-selected .evidya-mcq-option__label {
	background: var(--evidya-primary);
	color: #fff;
	border-color: var(--evidya-primary);
}

/* Session navigation */
.evidya-session-nav {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 16px;
}
.evidya-session-nav .evidya-btn:disabled { opacity: .5; cursor: not-allowed; }

/* Jumplist (question numbers grid) */
.evidya-jumplist {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}
.evidya-jump-btn {
	width: 36px; height: 36px;
	border-radius: var(--evidya-radius-sm);
	border: 1px solid var(--evidya-border);
	background: #fff;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	color: var(--evidya-text);
}
.evidya-jump-btn.is-answered { background: var(--evidya-success-bg); border-color: var(--evidya-success); color: var(--evidya-success); }
.evidya-jump-btn.is-current { outline: 2px solid var(--evidya-primary); }

.evidya-session-progress { font-weight: 700; font-size: 14px; }

/* ---------- 14. EXAM PAPERS / PREMIUM ---------- */
.evidya-paper-card {
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	padding: 18px;
	box-shadow: var(--evidya-shadow);
	position: relative;
}
.evidya-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 50px;
	letter-spacing: .04em;
}
.evidya-badge--free { background: var(--evidya-success-bg); color: var(--evidya-success); }
.evidya-badge--premium { background: #fef3c7; color: #b45309; }

.evidya-paywall {
	text-align: center;
	padding: 40px 20px;
	background: var(--evidya-bg);
	border-radius: var(--evidya-radius);
	border: 1px dashed var(--evidya-border);
}
.evidya-paywall h3 { margin-bottom: 8px; }
.evidya-paywall-price { font-size: 28px; font-weight: 800; color: var(--evidya-primary); margin: 10px 0; }
.evidya-paywall-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 16px; }

/* ---------- 15. AUTH FORMS ---------- */
.evidya-auth-wrap { max-width: 420px; margin: 40px auto; }
.evidya-auth-card {
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	padding: 30px;
	box-shadow: var(--evidya-shadow);
}
.evidya-auth-card h2 { text-align: center; margin-bottom: 20px; }
.evidya-form-row { margin-bottom: 16px; }
.evidya-form-row label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.evidya-form-row input {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius-sm);
	font-size: 14px;
}
.evidya-form-error { background: var(--evidya-danger-bg); color: var(--evidya-danger); padding: 10px 14px; border-radius: var(--evidya-radius-sm); font-size: 13px; margin-bottom: 14px; }
.evidya-auth-switch { text-align: center; margin-top: 14px; font-size: 13px; }

/* ---------- 15b. ACCOUNT DASHBOARD ---------- */
.evidya-dash-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.evidya-dash-list li {
	padding: 10px 14px;
	background: var(--evidya-bg);
	border-radius: var(--evidya-radius-sm);
	font-size: 14px;
}
.evidya-dash-list li a { font-weight: 600; }

/* ---------- 16. FOOTER ---------- */
.evidya-footer { background: #111827; color: #d1d5db; margin-top: 50px; }
.evidya-footer__widgets {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	padding: 40px 16px;
}
@media (max-width: 768px) {
	.evidya-footer__widgets { grid-template-columns: 1fr; }
}
.footer-widget-title { color: #fff; font-size: 16px; margin-bottom: 12px; }
.evidya-footer a { color: #d1d5db; }
.evidya-footer a:hover { color: #fff; }
.evidya-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.1);
	padding: 16px;
	text-align: center;
	font-size: 13px;
	color: #9ca3af;
}

/* ---------- 17. BLOG / PAGE ARTICLE LAYOUT ---------- */
.evidya-article { padding: 30px 16px; max-width: 800px; margin: 0 auto; }
.evidya-article__title { font-size: 28px; margin-bottom: 10px; }
.evidya-article__meta { font-size: 13px; color: var(--evidya-text-muted); margin-bottom: 20px; }
.evidya-article__content { font-size: 16px; line-height: 1.8; }
.evidya-article__content img { border-radius: var(--evidya-radius); }
.evidya-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
@media (max-width: 991px) { .evidya-blog-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 599px) { .evidya-blog-grid { grid-template-columns: 1fr; } }
.evidya-blog-card {
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	overflow: hidden;
	box-shadow: var(--evidya-shadow);
}
.evidya-blog-card__body { padding: 16px; }
.evidya-blog-card h3 { font-size: 16px; }

/* ---------- 17b. COMMENTS / DISCUSSION ---------- */
.evidya-comments {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--evidya-border);
	max-width: 100%;
	overflow-x: hidden;
}
.evidya-comments__title { font-size: 18px; margin-bottom: 16px; }

.evidya-comment-list,
.evidya-comment-list ul.children {
	list-style: none;
	margin: 0;
	padding: 0;
}
.evidya-comment-list > li { margin-bottom: 14px; }
.evidya-comment-list ul.children {
	margin-top: 14px;
	padding-left: 16px;
	border-left: 2px solid var(--evidya-border);
}
@media (max-width: 480px) {
	.evidya-comment-list ul.children { padding-left: 10px; }
}

.evidya-comment-list .comment-body {
	background: var(--evidya-card-bg);
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius);
	padding: 14px 16px;
	box-shadow: var(--evidya-shadow);
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: break-word;
}

.evidya-comment-list .comment-author {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
	font-size: 14px;
	margin-bottom: 4px;
}
.evidya-comment-list .comment-author .avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	flex-shrink: 0;
}
.evidya-comment-list .comment-author .fn {
	font-style: normal;
}
.evidya-comment-list .comment-metadata {
	font-size: 12px;
	color: var(--evidya-text-muted);
	margin-bottom: 8px;
}
.evidya-comment-list .comment-metadata a { color: var(--evidya-text-muted); }

.evidya-comment-list .comment-content {
	font-size: 14px;
	line-height: 1.6;
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: break-word;
}
.evidya-comment-list .comment-content p { margin: 0 0 .6em; }
.evidya-comment-list .comment-content img,
.evidya-comment-list .comment-content iframe {
	max-width: 100%;
	height: auto;
}

.evidya-comment-list .reply {
	margin-top: 8px;
}
.evidya-comment-list .reply a,
.evidya-comment-list .comment-reply-link {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: var(--evidya-primary);
	border: 1px solid var(--evidya-primary);
	border-radius: 50px;
	padding: 4px 12px;
}
.evidya-comment-list .reply a:hover,
.evidya-comment-list .comment-reply-link:hover {
	background: var(--evidya-primary);
	color: #fff;
}

.evidya-comments-closed {
	font-size: 14px;
	color: var(--evidya-text-muted);
	font-style: italic;
}

/* Comment form (wp comment_form default markup) */
#commentform {
	max-width: 100%;
}
#commentform p { margin: 0 0 14px; }
#commentform label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
}
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid var(--evidya-border);
	border-radius: var(--evidya-radius-sm);
	font-size: 14px;
	font-family: inherit;
}
#commentform textarea { resize: vertical; min-height: 100px; }
#commentform .comment-form-cookies-consent { display: flex; align-items: center; gap: 8px; }
#commentform .comment-form-cookies-consent input { width: auto; }
#commentform #submit { cursor: pointer; }

.evidya-comments .evidya-pagination { margin-top: 16px; }

/* ---------- 18. RESPONSIVE NAV ---------- */
@media (max-width: 768px) {
	.evidya-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--evidya-border); }
	.evidya-nav.is-open { display: block; }
	.evidya-nav ul { flex-direction: column; gap: 0; padding: 10px 16px; }
	.evidya-nav li { border-bottom: 1px solid var(--evidya-border); }
	.evidya-nav a { display: block; padding: 12px 0; }
	.evidya-menu-toggle { display: block; }
	.evidya-header__inner { position: relative; }
}
