.exampyq-page {
	padding: 0 0 40px;
	background:
		radial-gradient(1100px 480px at 10% -10%, rgba(67, 159, 223, 0.14), transparent 60%),
		radial-gradient(900px 420px at 100% 0%, rgba(124, 58, 237, 0.10), transparent 55%),
		linear-gradient(180deg, #f3f8fc 0%, #eef3f9 100%);
}
/* Every ExamPYQ frontend page spans the full content width, like the test player. */
.exampyq-page__inner {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: clamp(20px, 3vw, 44px) clamp(16px, 4vw, 56px);
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.64));
	backdrop-filter: blur(18px) saturate(160%);
	-webkit-backdrop-filter: blur(18px) saturate(160%);
	border: 0;
	border-radius: 0;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
	box-sizing: border-box;
}
.exampyq {
	--exampyq-accent: var(--thim-primary-color, #439fdf);
	--exampyq-accent-hover: #2387cc;
	--exampyq-fg: inherit;
	--exampyq-muted: #5b6b73;
	--exampyq-border: rgba(0, 0, 0, 0.1);
	font-size: 16px;
	line-height: 1.5;
	color: inherit;
	font-family: inherit;
}
.exampyq h2 {
	margin: 0 0 20px;
}
.exampyq-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}
.exampyq-list__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	min-height: 64px;
	padding: 20px 24px;
	border: 1px solid var(--exampyq-border);
	border-radius: 12px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72));
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.exampyq-list__item:hover {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--exampyq-accent) 45%, var(--exampyq-border));
	box-shadow: 0 10px 24px -8px rgba(15, 23, 42, 0.16);
}
.exampyq-list__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.exampyq-list__title {
	font-size: 16px;
	font-weight: 650;
}
.exampyq-list__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: var(--exampyq-muted);
	font-size: 13px;
}
.exampyq-badge {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid color-mix(in srgb, var(--exampyq-accent) 20%, var(--exampyq-border));
	border-radius: 99px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--exampyq-accent) 14%, #fff), color-mix(in srgb, var(--exampyq-accent) 4%, #fff));
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--exampyq-muted);
}
.exampyq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 40px;
	min-width: 40px;
	width: auto;
	padding: 9px 18px;
	border: 1px solid var(--exampyq-accent);
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: var(--exampyq-accent);
	border-radius: 8px;
	cursor: pointer;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	transition: background 180ms ease, color 180ms ease, transform 150ms ease, box-shadow 150ms ease;
}
.exampyq-btn .dashicons {
	font-size: 18px;
	width: 18px;
	height: 18px;
	line-height: 1;
}
.exampyq-btn-icon {
	width: 40px;
	height: 40px;
	padding: 0;
}
.exampyq-btn:hover,
.exampyq-btn:focus {
	background: linear-gradient(135deg, var(--exampyq-accent), var(--exampyq-accent-hover));
	color: #fff;
	outline: 2px solid var(--exampyq-accent);
	outline-offset: 2px;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--exampyq-accent) 45%, transparent);
}
.exampyq-btn:hover .dashicons,
.exampyq-btn:focus .dashicons {
	color: inherit;
}
.exampyq-btn--primary {
	background: linear-gradient(135deg, var(--exampyq-accent), var(--exampyq-accent-hover));
	border-color: transparent;
	color: #fff;
	box-shadow: 0 4px 14px -4px color-mix(in srgb, var(--exampyq-accent) 55%, transparent);
}
.exampyq-btn--primary:hover,
.exampyq-btn--primary:focus {
	background: linear-gradient(135deg, var(--exampyq-accent-hover), var(--exampyq-accent));
	box-shadow: 0 8px 20px -4px color-mix(in srgb, var(--exampyq-accent) 60%, transparent);
}
.exampyq-btn--danger {
	border-color: #b42318;
	color: #b42318;
}
.exampyq-btn--danger:hover,
.exampyq-btn--danger:focus {
	background: linear-gradient(135deg, #dc2626, #b42318);
	outline-color: #b42318;
	box-shadow: 0 6px 16px -4px rgba(180, 35, 24, 0.45);
}
.exampyq-table {
	width: 100%;
	border-collapse: collapse;
}
.exampyq-table th,
.exampyq-table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--exampyq-border);
	text-align: left;
}
.exampyq-result .exampyq-stats,
.exampyq-leaderboard .exampyq-table {
	margin-bottom: 0;
}
.exampyq-pager {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 16px 0 0;
}
.exampyq-pager a,
.exampyq-pager .is-current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	min-height: 36px;
	padding: 0 10px;
	border: 1px solid var(--exampyq-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(6px);
	color: inherit;
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
	transition: transform 150ms ease, box-shadow 150ms ease;
}
.exampyq-pager a:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.1);
}
.exampyq-pager .is-current {
	background: linear-gradient(135deg, var(--exampyq-accent), var(--exampyq-accent-hover));
	border-color: transparent;
	color: #fff;
	box-shadow: 0 4px 12px -3px color-mix(in srgb, var(--exampyq-accent) 55%, transparent);
}
.exampyq-lead-filter {
	margin: 0 0 16px;
}
.exampyq-lead-filter select {
	min-height: 36px;
	margin-left: 8px;
}
.exampyq-lead-card {
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 14px;
	overflow: hidden;
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.68));
	backdrop-filter: blur(14px) saturate(150%);
	-webkit-backdrop-filter: blur(14px) saturate(150%);
	box-shadow: 0 8px 28px -10px rgba(15, 23, 42, 0.14);
}
.exampyq-leaderboard .exampyq-table th {
	background: linear-gradient(135deg, color-mix(in srgb, var(--exampyq-accent) 12%, #f8fafc), #f8fafc);
	font-weight: 650;
}
.exampyq-leaderboard .exampyq-table tr:last-child td {
	border-bottom: 0;
}
.exampyq-leaderboard .exampyq-table tbody tr {
	transition: background 150ms ease;
}
.exampyq-leaderboard .exampyq-table tbody tr:hover {
	background: color-mix(in srgb, var(--exampyq-accent) 6%, transparent);
}
.exampyq-rank {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 99px;
	font-weight: 700;
	font-size: 13px;
	background: #f1f5f9;
}
.exampyq-rank.is-1 {
	background: linear-gradient(135deg, #fde68a, #f59e0b);
	color: #78350f;
	box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4);
}
.exampyq-rank.is-2 {
	background: linear-gradient(135deg, #e2e8f0, #94a3b8);
	color: #334155;
	box-shadow: 0 2px 8px rgba(100, 116, 139, 0.3);
}
.exampyq-rank.is-3 {
	background: linear-gradient(135deg, #fed7aa, #ea580c);
	color: #7c2d12;
	box-shadow: 0 2px 8px rgba(234, 88, 12, 0.32);
}
.exampyq-review {
	border-top: 1px solid var(--exampyq-border);
	padding: 20px;
	margin-bottom: 12px;
	border-radius: 10px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3));
}
.exampyq-review:first-of-type {
	border-top: none;
}
.exampyq-review img {
	max-width: 100%;
	height: auto;
}
.exampyq-score {
	font-size: 2rem;
	font-weight: 750;
	margin: 8px 0 16px;
	background: linear-gradient(135deg, var(--exampyq-accent), var(--exampyq-accent-hover));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.exampyq-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0;
	list-style: none;
}
.exampyq-bar {
	height: 8px;
	background: #e6eef3;
	border-radius: 99px;
	overflow: hidden;
	margin-top: 6px;
}
.exampyq-bar span {
	display: block;
	height: 100%;
	width: var(--pct);
	background: linear-gradient(90deg, var(--exampyq-accent), var(--exampyq-accent-hover));
}
.exampyq-locked {
	color: var(--exampyq-muted);
}
.exampyq-series-hero {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--exampyq-border);
}
.exampyq-series-hero h2 {
	margin: 0;
	flex: 1;
	min-width: 0;
	font-size: 1.6rem;
	background: linear-gradient(135deg, var(--exampyq-accent), var(--exampyq-accent-hover));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.exampyq-series-group {
	margin-bottom: 28px;
}
.exampyq-series-group:last-child {
	margin-bottom: 0;
}
.exampyq-series-group__title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--exampyq-fg);
}
.exampyq-series-group__title::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 99px;
	background: linear-gradient(135deg, var(--exampyq-accent), var(--exampyq-accent-hover));
}
.exampyq-result__hero {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.exampyq-donut {
	width: 160px;
	height: 160px;
	flex-shrink: 0;
}
.exampyq-donut circle {
	fill: none;
	stroke-width: 18;
	transform-origin: 60px 60px;
}
.exampyq-donut__num {
	font-size: 16px;
	font-weight: 700;
	fill: inherit;
}
.exampyq-donut__cap {
	font-size: 8px;
	fill: #5b6b73;
}
.exampyq-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}
.exampyq-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 8px;
	font-size: 13px;
	background: linear-gradient(135deg, #eef2f7, #e2e8f0);
	box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}
.exampyq-chip.is-ok {
	background: linear-gradient(135deg, #d1fae5, #ecfdf5);
	color: #047857;
}
.exampyq-chip.is-bad {
	background: linear-gradient(135deg, #fee2e2, #fef2f2);
	color: #b42318;
}
.exampyq-chip.is-skip {
	background: linear-gradient(135deg, #e2e8f0, #f1f5f9);
	color: #475569;
}
.exampyq-stack {
	display: flex;
	height: 10px;
	width: 100%;
	border-radius: 99px;
	overflow: hidden;
	background: #e6eef3;
	margin-top: 8px;
}
.exampyq-stack span {
	display: block;
	height: 100%;
	min-width: 0;
}
.exampyq-stack .is-ok {
	background: linear-gradient(90deg, #34d399, #059669);
}
.exampyq-stack .is-bad {
	background: linear-gradient(90deg, #f87171, #b42318);
}
.exampyq-stack .is-skip {
	background: linear-gradient(90deg, #cbd5e1, #94a3b8);
}
.exampyq-donut__track {
	stroke: #e6eef3;
}
.exampyq-donut__ok,
.exampyq-donut__bad,
.exampyq-donut__skip {
	transform: rotate(-90deg);
}
.exampyq-donut__ok {
	stroke: #059669;
}
.exampyq-donut__bad {
	stroke: #b42318;
}
.exampyq-donut__skip {
	stroke: #94a3b8;
}
.exampyq-legend-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 0 20px;
	font-size: 13px;
	color: var(--exampyq-muted);
}
.exampyq-swatch {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 99px;
	margin-right: 4px;
	background: #94a3b8;
}
.exampyq-swatch.is-ok {
	background: #059669;
}
.exampyq-swatch.is-bad {
	background: #b42318;
}
.exampyq-topics {
	display: grid;
	gap: 12px;
	margin-bottom: 24px;
}
.exampyq-topic {
	padding: 12px 14px;
	border-radius: 10px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.35));
	box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.05);
}
@media (prefers-reduced-motion: reduce) {
	.exampyq-btn,
	.exampyq-btn--primary,
	.exampyq-btn--danger,
	.exampyq-list__item,
	.exampyq-pager a {
		transition: none;
	}
}
/* ---- Full-width breakout from narrow theme content containers ---- */
/* Only widen ancestors that actually wrap an ExamPYQ view (the managed-page
   shell `.exampyq-page`, or a bare shortcode root `.exampyq` dropped onto any
   page or post), so the theme header/footer - which often reuse .container /
   .row - are left untouched. */
body.exampyq-fullwidth .site-content:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .site-main:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .content-area:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth #content:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth #primary:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth #main:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth main:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth article:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .entry-content:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .entry-content-wrap:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .page-content:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .wp-block-post-content:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .is-layout-constrained:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .elementor-section:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .elementor-container:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .elementor-widget:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .elementor-widget-container:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .elementor-widget-shortcode:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .elementor-widget-theme-post-content:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .e-con:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .e-con-inner:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .e-child:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .thim-content:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .container:has(.exampyq-page, .exampyq),
body.exampyq-fullwidth .row:has(.exampyq-page, .exampyq) {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	float: none !important;
}
body.exampyq-fullwidth .exampyq-page {
	width: 100%;
}
/* Bare shortcode root (no managed-page shell around it): give it the same
   full-width frame and all-round breathing room as the plugin's own pages. */
body.exampyq-fullwidth .exampyq:not(.exampyq-exam) {
	box-sizing: border-box;
	width: 100%;
	padding: clamp(20px, 3vw, 44px) clamp(16px, 4vw, 56px);
}
/* ...but the managed-page shell (`.exampyq-page__inner`) already supplies that
   frame, so don't double up when the view renders inside it. */
body.exampyq-fullwidth .exampyq-page__inner .exampyq:not(.exampyq-exam) {
	padding: 0;
	width: auto;
}

/* ---- Drop the theme's content sidebar on full-width ExamPYQ views ---- */
/* Unambiguous sidebar hooks, plus any widget-area that sits *beside* the main
   content column (sibling of #primary / .content-area) - footer widget areas
   are not siblings of the content column, so they are left alone. */
body.exampyq-fullwidth #secondary,
body.exampyq-fullwidth #sidebar,
body.exampyq-fullwidth .secondary-sidebar,
body.exampyq-fullwidth .sidebar-primary,
body.exampyq-fullwidth .thim-sidebar,
body.exampyq-fullwidth .col-sidebar,
body.exampyq-fullwidth .content-sidebar,
body.exampyq-fullwidth #primary ~ .widget-area,
body.exampyq-fullwidth #primary ~ .sidebar,
body.exampyq-fullwidth .widget-area:has(~ #primary),
body.exampyq-fullwidth .sidebar:has(~ #primary),
body.exampyq-fullwidth .content-area ~ .widget-area,
body.exampyq-fullwidth .content-area ~ .sidebar,
body.exampyq-fullwidth .site-main ~ .widget-area,
body.exampyq-fullwidth .site-content > .widget-area,
body.exampyq-fullwidth .site-content > .sidebar {
	display: none !important;
}
/* Let the remaining content column occupy the whole row once its sidebar is gone. */
body.exampyq-fullwidth #primary,
body.exampyq-fullwidth .content-area,
body.exampyq-fullwidth .site-content > .content-wrap,
body.exampyq-fullwidth .thim-content,
body.exampyq-fullwidth .col-content,
body.exampyq-fullwidth .content-main {
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 100% !important;
	margin: 0 !important;
}
/* Collapse a two-column grid/flex row so no empty sidebar track is left behind. */
body.exampyq-fullwidth .site-content:has(> #primary):has(.exampyq),
body.exampyq-fullwidth .content-wrap:has(> #primary):has(.exampyq),
body.exampyq-fullwidth .row:has(> .col-content):has(.exampyq),
body.exampyq-fullwidth .thim-row-content:has(.exampyq) {
	display: block !important;
	grid-template-columns: 1fr !important;
}

/* ---- Align the page title with the padded content on full-width views ---- */
body.exampyq-fullwidth .entry-title,
body.exampyq-fullwidth .page-title,
body.exampyq-fullwidth .entry-header > *,
body.exampyq-fullwidth .page-header > *,
body.exampyq-fullwidth .page-title-bar .title,
body.exampyq-fullwidth .page-title-inner,
body.exampyq-fullwidth .thim-page-title__heading,
body.exampyq-fullwidth .thim-page-heading .heading-title,
body.exampyq-fullwidth .elementor-page-title,
body.exampyq-fullwidth .elementor-widget-theme-page-title .elementor-heading-title,
body.exampyq-fullwidth .breadcrumbs,
body.exampyq-fullwidth .breadcrumb {
	padding-left: clamp(16px, 4vw, 56px);
}

/* ---- Result view titles ("Test Overview" / "Test Analysis") ---- */
.exampyq-analysis .exampyq-result__title {
	display: block;
	width: 100%;
	text-align: left;
	margin: 0 0 20px;
	padding: 12px 0 0 clamp(6px, 1.6vw, 20px);
}
.exampyq-analysis .exampyq-result__subtitle {
	margin-top: 30px;
	padding-top: 22px;
	border-top: 1px solid var(--exampyq-border);
	font-size: 1.15rem;
	font-weight: 700;
}

/* ---- Test Analysis: question review, grouped by section ---- */
.exampyq-analysis__review {
	margin-top: 4px;
}
.exampyq-qsection {
	margin: 0 0 30px;
}
.exampyq-qsection:last-child {
	margin-bottom: 0;
}
.exampyq-qsection__head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 0 0 16px;
	padding: 14px 18px;
	border-radius: 14px;
	color: #fff;
	background: linear-gradient(135deg, var(--exampyq-accent), var(--exampyq-accent-hover));
	box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--exampyq-accent) 75%, transparent);
}
.exampyq-qsection__idx {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.22);
}
.exampyq-qsection__title {
	flex: 1 1 auto;
	margin: 0;
	font-size: 1.15rem;
	font-weight: 750;
	line-height: 1.3;
	color: #fff;
}
.exampyq-qsection__meta {
	font-size: 12px;
	font-weight: 600;
	opacity: 0.92;
}
.exampyq-qsection__body {
	display: grid;
	gap: 12px;
}

.exampyq-analysis__review .exampyq-review {
	margin: 0;
	border: 1px solid var(--exampyq-border);
	border-left: 4px solid #cbd5e1;
	background: linear-gradient(160deg, color-mix(in srgb, var(--exampyq-accent) 4%, #fff), #fff);
}
.exampyq-analysis__review .exampyq-review--correct {
	border-left-color: #16a34a;
}
.exampyq-analysis__review .exampyq-review--incorrect {
	border-left-color: #dc2626;
}
.exampyq-analysis__review .exampyq-review--unanswered {
	border-left-color: #cbd5e1;
}
.exampyq-review__no {
	display: inline-block;
	min-width: 46px;
	margin-right: 8px;
	padding: 2px 8px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	color: var(--exampyq-accent);
	background: color-mix(in srgb, var(--exampyq-accent) 12%, transparent);
}
.exampyq-review__q {
	margin: 0 0 12px;
	font-weight: 650;
	line-height: 1.55;
}
/* Rich question/explanation content (wp_kses_post output) can legally contain
   paragraphs, headings and lists - and, since it's routinely pasted in from
   Word/Docs/ChatGPT, those tags often carry their own inline "style"
   margins/padding too. Reset the browser defaults AND override any inline
   spacing (!important, scoped to just margin/padding-left) so every block
   starts flush at the same left edge as the rest of the card, instead of
   each tag - and each paste source - carrying its own (and, for nested
   lists, compounding) indent. */
.exampyq-review__q p,
.exampyq-review__exp p,
.exampyq-review__q h1,
.exampyq-review__exp h1,
.exampyq-review__q h2,
.exampyq-review__exp h2,
.exampyq-review__q h3,
.exampyq-review__exp h3,
.exampyq-review__q h4,
.exampyq-review__exp h4,
.exampyq-review__q h5,
.exampyq-review__exp h5,
.exampyq-review__q h6,
.exampyq-review__exp h6 {
	margin-left: 0 !important;
	padding-left: 0 !important;
	margin-right: 0;
	margin-bottom: 10px;
	padding-right: 0;
}
.exampyq-review__q ul,
.exampyq-review__exp ul,
.exampyq-review__q ol,
.exampyq-review__exp ol {
	margin-left: 22px !important;
	padding-left: 0 !important;
	margin-right: 0;
	margin-bottom: 10px;
	padding-right: 0;
}
.exampyq-review__q ul ul,
.exampyq-review__exp ul ul,
.exampyq-review__q ul ol,
.exampyq-review__exp ul ol,
.exampyq-review__q ol ul,
.exampyq-review__exp ol ul,
.exampyq-review__q ol ol,
.exampyq-review__exp ol ol {
	margin-left: 18px !important;
	margin-top: 4px;
	margin-bottom: 0;
}
.exampyq-review__q li,
.exampyq-review__exp li {
	margin-left: 0 !important;
	padding-left: 0 !important;
	margin-top: 4px;
	margin-bottom: 4px;
}
.exampyq-review__q > *:first-child,
.exampyq-review__exp > *:first-child {
	margin-top: 0;
}
.exampyq-review__q > *:last-child,
.exampyq-review__exp > *:last-child {
	margin-bottom: 0;
}
.exampyq-review__line {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 6px 0;
	font-size: 0.95rem;
}
.exampyq-review__k {
	flex: 0 0 118px;
	color: var(--exampyq-muted);
	font-weight: 600;
}
.exampyq-review__v {
	font-weight: 650;
}
.exampyq-review__v.is-ok,
.exampyq-review__v--correct {
	color: #16a34a;
}
.exampyq-review__v--incorrect {
	color: #dc2626;
}
.exampyq-review__v--unanswered {
	color: var(--exampyq-muted);
	font-weight: 600;
}
.exampyq-review__exp {
	margin: 10px 0 0;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 0.92rem;
	line-height: 1.6;
	background: color-mix(in srgb, var(--exampyq-accent) 6%, #f8fafc);
}
.exampyq-review__time {
	margin: 12px 0 0;
	font-size: 12px;
	color: var(--exampyq-muted);
}

/* ---- Test Analysis bottom navigation ---- */
.exampyq-analysis__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--exampyq-border);
}
.exampyq-analysis__nav .exampyq-btn {
	flex: 1 1 auto;
	min-width: 160px;
	max-width: 280px;
}
@media (prefers-reduced-motion: reduce) {
	.exampyq-btn,
	.exampyq-btn--primary,
	.exampyq-btn--danger,
	.exampyq-list__item,
	.exampyq-pager a {
		transition: none;
	}
}

/* ---- Responsive: tablets ---- */
@media (max-width: 900px) {
	.exampyq-page__inner,
	body.exampyq-fullwidth .exampyq:not(.exampyq-exam) {
		padding: 24px clamp(14px, 3vw, 28px);
	}
	.exampyq-result__hero {
		gap: 16px;
	}
	.exampyq-donut {
		width: 130px;
		height: 130px;
	}
}

/* ---- Responsive: phones ---- */
@media (max-width: 640px) {
	.exampyq-page {
		padding-bottom: 24px;
	}
	.exampyq-page__inner,
	body.exampyq-fullwidth .exampyq:not(.exampyq-exam) {
		padding: 18px 14px;
	}
	body.exampyq-fullwidth .exampyq-page__inner .exampyq:not(.exampyq-exam) {
		padding: 0;
	}
	.exampyq h2 {
		font-size: 1.4rem;
		margin-bottom: 16px;
	}
	.exampyq-list__item {
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
	}
	.exampyq-list__item .exampyq-btn {
		width: 100%;
	}
	.exampyq-result__hero {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
	.exampyq-donut {
		width: 120px;
		height: 120px;
	}
	.exampyq-score {
		font-size: 1.6rem;
	}
	.exampyq-review {
		padding: 16px;
	}
	.exampyq-review__k {
		flex-basis: 100%;
	}
	.exampyq-qsection__head {
		padding: 12px 14px;
	}
	.exampyq-qsection__title {
		flex-basis: 100%;
		font-size: 1.05rem;
	}
	.exampyq-analysis__nav {
		flex-direction: column;
	}
	.exampyq-analysis__nav .exampyq-btn {
		max-width: none;
		width: 100%;
	}
	/* Wide tables scroll instead of blowing out the layout. */
	.exampyq-lead-card,
	.exampyq-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.exampyq-leaderboard .exampyq-table {
		min-width: 480px;
	}
	.exampyq-series-hero h2 {
		font-size: 1.35rem;
	}
}
