.certifym-exam { max-width: 760px; margin: 0 auto; }

.certifym-card {
	background: #fff;
	border: 1px solid #e2e5ea;
	border-radius: 10px;
	padding: 24px;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
}

.certifym-head {
	display: flex;
	justify-content: space-between;
	font-size: 0.9rem;
	color: #5b6472;
	margin-bottom: 16px;
}

.certifym-timer { font-variant-numeric: tabular-nums; font-weight: 600; color: #0f766e; }

.certifym-prompt { font-size: 1.05rem; line-height: 1.55; margin-bottom: 18px; }

.certifym-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }

.certifym-option {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 12px 14px;
	border: 1px solid #d6dae1;
	border-radius: 8px;
	cursor: pointer;
}
.certifym-option:hover { border-color: #0f766e; background: #f0fdfa; }

.certifym-nav { display: flex; justify-content: space-between; gap: 12px; }

/* Scoped under .certifym-exam so theme button styles (e.g. Kadence's
   .entry-content button) can never out-rank the resting state. */
.certifym-exam .certifym-btn,
.certifym-btn {
	-webkit-appearance: none;
	appearance: none;
	padding: 10px 18px;
	border: 1px solid #d6dae1;
	border-radius: 8px;
	background: #fff;
	color: #1b2733;
	cursor: pointer;
	font-size: 0.95rem;
	line-height: 1.3;
	text-transform: none;
	box-shadow: none;
	transition: background-color .12s ease, border-color .12s ease;
}
.certifym-exam .certifym-btn:hover { background: #f5f7f6; border-color: #b9c2c8; color: #1b2733; }
.certifym-exam .certifym-btn[disabled],
.certifym-btn[disabled] { opacity: 0.5; cursor: default; }
.certifym-exam .certifym-btn-primary,
.certifym-btn-primary {
	background: #0f766e;
	border-color: #0f766e;
	color: #fff;
}
.certifym-exam .certifym-btn-primary:hover,
.certifym-btn-primary:hover { background: #115e59; border-color: #115e59; color: #fff; }

.certifym-gate, .certifym-error { text-align: center; color: #5b6472; }

.certifym-results h3 { margin-top: 0; }

.certifym-review { margin: 20px 0; display: flex; flex-direction: column; gap: 16px; }

.certifym-review-item { border-left: 4px solid #d6dae1; padding: 10px 14px; }
.certifym-review-item.is-correct { border-left-color: #16a34a; }
.certifym-review-item.is-wrong { border-left-color: #dc2626; }

.certifym-review-num { font-weight: 600; margin-bottom: 6px; }

.certifym-explanation {
	margin-top: 8px;
	padding: 10px 12px;
	background: #f6f7f9;
	border-radius: 6px;
	font-size: 0.92rem;
}

/* ---- Start screen: mode choice ---- */
.certifym-start-choice { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.certifym-start-hint { font-size: 0.88rem; color: #5b6472; margin: 0 0 14px; max-width: 46ch; }

/* ---- Study mode: instant feedback ---- */
.certifym-tally { font-weight: 600; color: #0f766e; }

.certifym-option.is-locked { cursor: default; }
.certifym-option.is-locked:hover { border-color: #d6dae1; background: transparent; }
.certifym-option.is-correct-reveal,
.certifym-option.is-correct-reveal:hover { border-color: #16a34a; background: #f0fdf4; }
.certifym-option.is-wrong-reveal,
.certifym-option.is-wrong-reveal:hover { border-color: #dc2626; background: #fef2f2; }

.certifym-feedback { margin: -6px 0 20px; padding: 12px 14px; border-radius: 8px; font-size: 0.95rem; }
.certifym-feedback.is-correct { background: #f0fdf4; border: 1px solid #86efac; }
.certifym-feedback.is-wrong { background: #fef2f2; border: 1px solid #fca5a5; }
.certifym-feedback .certifym-explanation { margin-top: 8px; color: #374151; line-height: 1.5; }

.certifym-warn { color: #b45309; font-size: 0.9rem; min-height: 1.2em; margin: -8px 0 12px; }

/* ---- Custom drills ---- */
.certifym-drill-setup h3 { margin-top: 0; }
.certifym-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.certifym-field > span { font-size: 0.88rem; font-weight: 600; color: #5b6472; }
.certifym-field select,
.certifym-field input[type="number"] {
	padding: 10px 12px;
	border: 1px solid #d6dae1;
	border-radius: 8px;
	font-size: 0.95rem;
	background: #fff;
	max-width: 420px;
}
.certifym-drill-tag { color: #5b6472; font-size: 0.85rem; }

/* ---- Attempt history ---- */
.certifym-btn-link { border: none; background: transparent; color: #0f766e; text-decoration: underline; padding: 6px 10px; }
.certifym-btn-link:hover { background: transparent; color: #115e59; }
.certifym-history h3 { margin-top: 0; }
.certifym-history-table { width: 100%; border-collapse: collapse; margin-bottom: 18px; font-size: 0.93rem; }
.certifym-history-table th { text-align: left; color: #5b6472; font-weight: 600; padding: 8px 10px; border-bottom: 2px solid #e2e5ea; }
.certifym-history-table td { padding: 9px 10px; border-bottom: 1px solid #eef0f3; vertical-align: middle; }
.certifym-btn-small { padding: 5px 12px; font-size: 0.85rem; }

/* ---- Copy/paste deterrence ---- */
.certifym-noselect .certifym-prompt,
.certifym-noselect .certifym-option,
.certifym-noselect .certifym-feedback,
.certifym-noselect .certifym-review,
.certifym-noselect .certifym-explanation {
	-webkit-user-select: none;
	user-select: none;
}
.certifym-noselect input,
.certifym-noselect select,
.certifym-noselect textarea {
	-webkit-user-select: auto;
	user-select: auto;
}

/* Printing an exam page yields a notice instead of content. */
@media print {
	.certifym-exam .certifym-card { display: none !important; }
	.certifym-exam::after {
		content: "Certifym exam content is not printable.";
		display: block;
		padding: 24px;
		font-style: italic;
	}
}

/* ---- Free sample: email gate + CTA ---- */
.certifym-gate-card h3 { margin-top: 0; }
.certifym-gate-card .certifym-field input[type="email"] {
	padding: 10px 12px;
	border: 1px solid #d6dae1;
	border-radius: 8px;
	font-size: 0.95rem;
	max-width: 420px;
	width: 100%;
}
.certifym-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 0.85rem;
	color: #5b6472;
	margin: 4px 0 12px;
	cursor: pointer;
}
.certifym-consent input { margin-top: 2px; }
.certifym-sample-cta {
	margin-top: 24px;
	padding: 20px;
	border: 1.5px solid #1b2733;
	border-radius: 12px;
	text-align: center;
	background: #fff;
}
.certifym-sample-cta p { margin: 0 0 14px; font-weight: 600; }
