/* TA Quiz Runtime - componenten: loaders, meldingen, resultaatkaart, voorlezen, matrix */

/* ===== Pageloader (was snippet ID 41) ===== */
#ta-page-loader {
            position: fixed;
            inset: 0;
            z-index: 99999;
            background: #ffffff;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 28px;
            transition: opacity 0.4s ease, visibility 0.4s ease;
        }
        #ta-page-loader.ta-loader-hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }
        .ta-loader-logo {
            width: 64px;
            height: 64px;
            animation: ta-logo-pulse 1.8s ease-in-out infinite;
        }
        .ta-loader-bars {
            display: flex;
            align-items: flex-end;
            gap: 5px;
            height: 36px;
        }
        .ta-loader-bars span {
            display: block;
            width: 6px;
            border-radius: 3px;
            background: #2563eb;
            animation: ta-bar-bounce 1.2s ease-in-out infinite;
        }
        .ta-loader-bars span:nth-child(1) { animation-delay: 0s;    height: 20px; }
        .ta-loader-bars span:nth-child(2) { animation-delay: 0.15s; height: 28px; }
        .ta-loader-bars span:nth-child(3) { animation-delay: 0.3s;  height: 36px; }
        .ta-loader-bars span:nth-child(4) { animation-delay: 0.45s; height: 28px; }
        .ta-loader-bars span:nth-child(5) { animation-delay: 0.6s;  height: 20px; }
        .ta-loader-text {
            font-family: system-ui, -apple-system, sans-serif;
            font-size: 14px;
            font-weight: 500;
            color: #6b7280;
            letter-spacing: 0.5px;
        }
        @keyframes ta-bar-bounce {
            0%, 100% { transform: scaleY(0.5); opacity: 0.5; }
            50%       { transform: scaleY(1);   opacity: 1;   }
        }
        @keyframes ta-logo-pulse {
            0%, 100% { transform: scale(1);    opacity: 0.9; }
            50%       { transform: scale(1.08); opacity: 1;   }
        }
        body.ta-loading { overflow: hidden; }

/* ===== Resultaat-wachtmelding (was snippet ID 45) ===== */
.ta-loading-patience {
            margin-top: 16px;
            margin-bottom: 16px;
            padding: 14px 18px;
            background: #fef3c7;
            border: 1px solid #f59e0b;
            border-radius: 10px;
            display: flex;
            align-items: center;
            gap: 12px;
            animation: ta-fade-in 0.3s ease;
        }
        .ta-loading-patience svg { flex-shrink: 0; }
        .ta-loading-patience-text { font-size: 14px; color: #92400e; line-height: 1.4; }
        .ta-loading-patience-title { font-weight: 600; margin-bottom: 2px; }
        @keyframes ta-fade-in {
            from { opacity: 0; transform: translateY(-5px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .ta-loading-spinner { animation: ta-spin 1s linear infinite; }
        @keyframes ta-spin { to { transform: rotate(360deg); } }

/* ===== Vragenloader (was snippet ID 51) ===== */
#ta-quiz-check-loader {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: rgba(255, 255, 255, 0.98);
        border: 2px solid #e5e7eb;
        border-radius: 16px;
        padding: 32px 48px;
        box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
        z-index: 999998;
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    #ta-quiz-check-loader.active { display: flex !important; }
    .ta-check-spinner {
        width: 44px;
        height: 44px;
        border: 4px solid #e5e7eb;
        border-top-color: #2563eb;
        border-radius: 50%;
        animation: ta-check-spin 0.7s linear infinite;
    }
    @keyframes ta-check-spin {
        to { transform: rotate(360deg); }
    }
    .ta-check-text {
        font-size: 15px;
        color: #1e293b;
        font-weight: 500;
        white-space: nowrap;
    }

/* ===== Matrix-afbeeldingen (was snippet ID 102) ===== */
/* =====================================================
		   DESKTOP
		   ===================================================== */

		.learndash-wrapper
		.wpProQuiz_questionList[data-type="matrix_sort_answer"]
		.wpProQuiz_questionListItem > table {
			width: 100% !important;
			table-layout: fixed !important;
			border-collapse: collapse !important;
		}

		.learndash-wrapper
		.wpProQuiz_questionList[data-type="matrix_sort_answer"]
		.wpProQuiz_mextrixTr > td:first-child {
			width: 42% !important;
			padding: 14px !important;
			vertical-align: middle !important;
		}

		.learndash-wrapper
		.wpProQuiz_questionList[data-type="matrix_sort_answer"]
		.wpProQuiz_mextrixTr > td:last-child {
			width: 58% !important;
			padding: 14px !important;
			vertical-align: middle !important;
		}

		.learndash-wrapper
		.wpProQuiz_questionList[data-type="matrix_sort_answer"]
		.wpProQuiz_maxtrixSortText {
			display: block !important;
			width: 100% !important;
			max-width: none !important;
			margin: 0 !important;
			padding: 0 !important;
			float: none !important;
		}

		.learndash-wrapper
		.wpProQuiz_questionList[data-type="matrix_sort_answer"]
		.wpProQuiz_maxtrixSortText img[data-taem-matrix-key] {
			display: block !important;
			width: 100% !important;
			max-width: 500px !important;
			height: auto !important;
			margin: 0 auto !important;
			padding: 0 !important;
			float: none !important;
			border-radius: 10px !important;
			object-fit: contain !important;
		}

		.learndash-wrapper
		.wpProQuiz_questionList[data-type="matrix_sort_answer"]
		.wpProQuiz_maxtrixSortCriterion {
			min-height: 150px !important;
			height: auto !important;
		}

		/* =====================================================
		   MOBIEL
		   ===================================================== */

@media screen and (max-width: 767px) {

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_questionListItem > table {
		display: table !important;
		width: 100% !important;
		table-layout: fixed !important;
	}

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_questionListItem > table > tbody {
		display: table-row-group !important;
	}

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_mextrixTr {
		display: table-row !important;
	}

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_mextrixTr > td {
		display: table-cell !important;
		box-sizing: border-box !important;
		vertical-align: middle !important;
	}

	/* Afbeelding links */
	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_mextrixTr > td:first-child {
		width: 48% !important;
		padding: 8px !important;
	}

	/* Sleepdoel rechts */
	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_mextrixTr > td:last-child {
		width: 52% !important;
		padding: 8px !important;
	}

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_maxtrixSortText {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_maxtrixSortText img[data-taem-matrix-key] {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		height: auto !important;
		margin: 0 !important;
		border-radius: 8px !important;
		object-fit: contain !important;
	}

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_questionListItem {
		min-height: 125px !important;
		height: auto !important;
	}

	.learndash-wrapper
	.wpProQuiz_questionList[data-type="matrix_sort_answer"]
	.wpProQuiz_maxtrixSortCriterion {
		width: 100% !important;
		min-height: 90px !important;
		height: auto !important;
	}
}

/* ===== Voorlezen-knop (was snippet ID 65) ===== */
.ta-tts-btn {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 8px 14px;
            background: #2563eb;
            color: #fff;
            border: none;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            margin: 10px 0;
            transition: background 0.2s;
            font-family: inherit;
        }
        .ta-tts-btn:hover {
            background: #1d4ed8;
        }
        .ta-tts-btn.speaking {
            background: #dc2626;
        }
        .ta-tts-btn.speaking:hover {
            background: #b91c1c;
        }
        .ta-tts-btn svg {
            width: 16px;
            height: 16px;
        }

/* ===== Resultaatkaart (was snippet ID 26) ===== */
.ta-ld-result-msg{
				margin:16px 0 22px!important;
				padding:0!important;
				border:1px solid #e2e8f0!important;
				border-radius:18px!important;
				background:#fff!important;
				overflow:hidden!important;
				display:block!important;
				visibility:visible!important;
				opacity:1!important;
				position:relative!important;
				z-index:999!important;
				box-shadow:0 12px 34px rgba(30,58,138,.12)!important;
				font-size:15px!important;
				line-height:1.5!important;
			}
			.ta-res-kop{
				display:flex!important;align-items:center!important;justify-content:space-between!important;
				gap:12px!important;flex-wrap:wrap!important;
				padding:14px 22px!important;color:#fff!important;
			}
			.ta-res-pass .ta-res-kop{background:linear-gradient(100deg,#15803d 0%,#16a34a 70%,#22c55e 100%)!important}
			.ta-res-fail .ta-res-kop{background:linear-gradient(100deg,#b91c1c 0%,#dc2626 70%,#ef4444 100%)!important}
			.ta-res-badge{
				display:inline-flex!important;align-items:center!important;
				background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.35)!important;
				border-radius:999px!important;padding:6px 16px!important;
				font-weight:800!important;font-size:14px!important;letter-spacing:.3px!important;color:#fff!important;
			}
			.ta-res-exam{font-weight:700!important;font-size:13.5px!important;color:rgba(255,255,255,.92)!important}
			.ta-res-body{
				display:flex!important;flex-wrap:wrap!important;align-items:center!important;
				gap:22px!important;padding:22px!important;
			}
			.ta-res-links{display:flex!important;align-items:center!important;gap:14px!important;flex:0 0 auto!important}
			.ta-res-donut{
				width:96px!important;height:96px!important;border-radius:50%!important;position:relative!important;
				display:flex!important;align-items:center!important;justify-content:center!important;
				background:conic-gradient(var(--ta-res-kleur,#1e3a8a) calc(var(--p) * 1%),#e8edf6 0)!important;
			}
			.ta-res-pass .ta-res-donut{--ta-res-kleur:#16a34a}
			.ta-res-fail .ta-res-donut{--ta-res-kleur:#dc2626}
			.ta-res-donut::before{content:"";position:absolute;inset:10px;background:#fff;border-radius:50%}
			.ta-res-donut span{position:relative!important;font-weight:800!important;font-size:20px!important;color:#1e293b!important}
			.ta-res-scoretxt{color:#475569!important;font-size:13.5px!important;line-height:1.6!important}
			.ta-res-scoretxt strong{color:#1e293b!important}
			.ta-res-img{flex:0 0 auto!important;margin:0!important}
			.ta-res-img img{max-width:160px!important;width:100%!important;height:auto!important;display:block!important;margin:0!important}
			.ta-res-tekst{flex:1 1 260px!important;min-width:240px!important;color:#334155!important}
			.ta-res-titel{display:block!important;color:#1e293b!important;font-size:16.5px!important;line-height:1.4!important;margin:0 0 4px!important}
			.ta-res-tekst p{margin:6px 0 12px!important;font-size:14.5px!important;line-height:1.6!important;color:#475569!important}
			.ta-res-notewrap{margin:0 0 14px!important}
			.ta-res-note{
				display:inline-flex!important;align-items:center!important;gap:6px!important;
				padding:6px 13px!important;border-radius:999px!important;
				font-size:12.5px!important;font-weight:700!important;letter-spacing:.2px!important;line-height:1.2!important;
			}
			.ta-res-pass .ta-res-note{background:#eafaf0!important;color:#15803d!important;border:1px solid #bbf7d0!important}
			.ta-res-fail .ta-res-note{background:#fef2f2!important;color:#b91c1c!important;border:1px solid #fecaca!important}
			.ta-res-cta{
				display:inline-block!important;background:#facc15!important;color:#1e293b!important;
				font-weight:800!important;font-size:14px!important;border-radius:10px!important;
				padding:12px 22px!important;text-decoration:none!important;border:0!important;cursor:pointer!important;
				box-shadow:0 6px 16px rgba(250,204,21,.35)!important;
				transition:transform .15s ease,box-shadow .15s ease!important;
			}
			.ta-res-cta:hover{transform:translateY(-1px)!important;box-shadow:0 9px 22px rgba(250,204,21,.5)!important;color:#1e293b!important}
			@media (max-width:640px){
				.ta-res-body{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:16px!important;padding:18px 16px!important}
				.ta-res-links{flex-direction:column!important;gap:10px!important}
				.ta-res-tekst{min-width:0!important}
				.ta-res-img img{max-width:140px!important}
				.ta-res-exam{font-size:12px!important}
			}