/* Use the site's existing palette and font; only quiz elements are affected. */
html body .pt-student-quizzes { color: var(--pt-text, #253b49); }
html body .studiare-quiz { background: transparent !important; color: var(--pt-text, #253b49) !important; }
html body.logged-in.woocommerce-account .studiare-quiz { background: transparent !important; color: var(--pt-text, #253b49) !important; }
.pt-quiz-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
html body .pt-quiz-card,
html body .studiare-quiz :is(.quiz-question, .quiz-description, .quiz-previous-results, .quiz-result, .quiz-result-entry, .quiz-attempt, .quiz-restricted, .quiz-start-countdown),
html body .pt-quiz-booklet {
	background: var(--pt-surface, #fff) !important;
	color: var(--pt-text, #253b49) !important;
	border: 1px solid var(--pt-border, #dce6ec) !important;
	border-radius: 14px;
	padding: 20px;
	margin-bottom: 18px;
}
.pt-quiz-card { display: flex; flex-direction: column; gap: 12px; }
.pt-quiz-card .button { margin-top: auto; align-self: flex-start; }
html body :is(.pt-quiz-card, .studiare-quiz) :is(h2,h3,h4) { color: var(--pt-text-strong, #253b49) !important; }
html body .pt-quiz-status { color: var(--pt-link, #28536e); background: var(--pt-surface-soft, #eaf1f4); border-radius: 20px; padding: 5px 12px; align-self: flex-start; }
html body .studiare-quiz .quiz-question-description { color: var(--pt-muted, #526b7a) !important; }
html body .studiare-quiz .quiz-question-title { color: var(--pt-text-strong, #253b49) !important; }
html body .studiare-quiz .quiz-question label {
	display: flex; align-items: center; gap: 12px; padding: 14px;
	border: 1px solid var(--pt-border, #dce6ec); border-radius: 10px;
	background: var(--pt-surface-raised, #f8fbfc) !important;
	color: var(--pt-text, #253b49) !important; cursor: pointer; margin: 10px 0;
}
html body .studiare-quiz .quiz-question label:has(input:checked),
html body .studiare-quiz .quiz-question label.selected {
	border-color: var(--pt-accent, #f4ac64);
	background: var(--pt-surface-soft, #eaf1f4) !important;
	box-shadow: inset 0 0 0 1px var(--pt-accent, #f4ac64);
}
html body .studiare-quiz input[type="radio"] {
	appearance: auto !important; position: static !important;
	opacity: 1 !important; width: 20px !important; height: 20px !important;
	margin: 0; flex: 0 0 20px; accent-color: var(--pt-accent-deep, #da844a);
}
html body .studiare-quiz :is(button, .button),
html body .pt-student-quizzes .button {
	background: var(--pt-accent, #f4ac64) !important;
	color: var(--pt-on-accent, #09111a) !important;
	border: 1px solid transparent; border-radius: 10px; padding: 10px 18px;
	font-family: inherit; min-height: 44px; line-height: 1.7; cursor: pointer;
}
html body .studiare-quiz button:disabled { opacity: .5; cursor: not-allowed; }
html body .studiare-quiz .quiz-timer { background: var(--pt-surface-soft, #eaf1f4) !important; color: var(--pt-text, #253b49) !important; border-color: var(--pt-border, #dce6ec) !important; border-radius: 10px; }
html body .studiare-quiz .timer-display { color: inherit; }
.pt-quiz-booklet iframe { display: block; width: 100%; height: 480px; border: 0; border-radius: 10px; margin-top: 16px; background: #fff; }
.pt-quiz-booklet details { margin-top: 16px; }
.pt-quiz-booklet summary { cursor: pointer; color: var(--pt-link, #28536e); padding: 8px 0; }
.studiare-quiz .quiz-controls { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
html body .studiare-quiz .quiz-stats-table :is(td,th) { background: var(--pt-surface, #fff) !important; color: var(--pt-text, #253b49) !important; border-color: var(--pt-border, #dce6ec) !important; }
.studiare-quiz :is(button,a,input):focus-visible { outline: 2px solid var(--pt-accent, #f4ac64); outline-offset: 3px; }
@media (max-width: 767px) {
	.pt-quiz-grid { grid-template-columns: minmax(0, 1fr); }
	html body .studiare-quiz :is(.quiz-question,.quiz-description,.quiz-previous-results), html body .pt-quiz-booklet { padding: 14px; }
	.pt-quiz-booklet iframe { height: 320px; }
	.studiare-quiz .quiz-pagination { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
}
