/* RKS Læring – blokke. Bruger temaets farver hvis de findes. */
:root {
	--rks-p: var(--wp--preset--color--primaer, #C23137);
	--rks-p-lys: var(--wp--preset--color--primaer-lys, #FBEDEE);
	--rks-a: var(--wp--preset--color--accent, #2F6F73);
	--rks-a-lys: var(--wp--preset--color--accent-lys, #E6F1F1);
	--rks-lys: var(--wp--preset--color--lys, #ECEDEF);
	--rks-graa: var(--wp--preset--color--graa, #5A6169);
	--rks-ok: #1F7A4D;
	--rks-ok-lys: #E3F4EA;
	--rks-fejl: #B3261E;
	--rks-fejl-lys: #FBE9E7;
}
.rks-kilde { display: none; }
@media print { .rks-kilde { display: block; } .rks-fc, .rks-quiz, .rks-tjek, .rks-ob { display: none; } }

.wp-block-rks-flashcards, .wp-block-rks-quiz, .wp-block-rks-tjekliste, .wp-block-rks-oplaegsbygger, .wp-block-rks-ordliste {
	background: #fff; border: 1px solid var(--rks-lys); border-radius: 12px; padding: 1.25rem 1.5rem; margin: 1.5rem 0;
}
.wp-block-rks-flashcards > h3:first-child, .wp-block-rks-quiz > h3:first-child, .wp-block-rks-tjekliste > h3:first-child,
.wp-block-rks-oplaegsbygger > h3:first-child, .wp-block-rks-ordliste > h3:first-child { margin-top: 0; }

.rks-hjaelp { font-size: .875rem; color: var(--rks-graa); margin: .25rem 0; }
.rks-knap { font: inherit; font-weight: 600; border: 0; border-radius: 999px; padding: .55rem 1.1rem; cursor: pointer; background: var(--rks-p); color: #fff; }
.rks-knap:hover { filter: brightness(.92); }
.rks-knap:focus-visible, .rks-link:focus-visible, .rks-quiz__svar:focus-visible, .rks-fc__kort:focus-visible { outline: 3px solid var(--rks-a); outline-offset: 2px; }
.rks-knap--ok { background: var(--rks-ok); }
.rks-knap--ikke { background: #fff; color: var(--rks-tekst, #1F2328); border: 2px solid var(--rks-lys); }
.rks-knap--sek { background: var(--rks-lys); color: inherit; min-width: 2.75rem; }
.rks-link { font: inherit; background: none; border: 0; padding: 0; color: var(--rks-p); text-decoration: underline; cursor: pointer; }
.rks-fremdrift { height: 6px; background: var(--rks-lys); border-radius: 3px; overflow: hidden; margin: .5rem 0; }
.rks-fremdrift > span { display: block; height: 100%; width: 0; background: var(--rks-ok); transition: width .3s; }

/* Flashcards */
.rks-fc__kort { display: block; width: 100%; min-height: 12rem; border: 0; padding: 0; background: none; cursor: pointer; perspective: 1000px; position: relative; font: inherit; color: inherit; text-align: center; }
.rks-fc__side { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1.5rem; border-radius: 12px; backface-visibility: hidden; transition: transform .45s; font-size: 1.15rem; line-height: 1.45; }
.rks-fc__forside { background: var(--rks-p-lys); border: 2px solid var(--rks-p); font-weight: 700; font-size: 1.35rem; }
.rks-fc__bagside { background: var(--rks-a-lys); border: 2px solid var(--rks-a); transform: rotateY(180deg); }
.rks-fc__kort.er-vendt .rks-fc__forside { transform: rotateY(180deg); }
.rks-fc__kort.er-vendt .rks-fc__bagside { transform: rotateY(360deg); }
.rks-fc__side p { margin: 0; }
.rks-fc__knapper { display: flex; gap: .5rem; justify-content: center; margin: 1rem 0 .5rem; flex-wrap: wrap; }
.rks-fc__status { text-align: center; font-size: .9rem; margin: .25rem 0; }
.rks-fc__vaerktoej { text-align: center; font-size: .875rem; }
@media (prefers-reduced-motion: reduce) { .rks-fc__side { transition: none; } }

/* Quiz */
.rks-quiz__spm { border: 0; border-top: 1px solid var(--rks-lys); padding: 1rem 0 .5rem; margin: 0; }
.rks-quiz__spm legend { font-weight: 700; padding: 0; margin-bottom: .6rem; float: left; width: 100%; }
.rks-quiz__spm legend + * { clear: both; }
.rks-quiz__nr { color: var(--rks-p); }
.rks-quiz__svar { display: block; width: 100%; text-align: left; font: inherit; background: #fff; border: 2px solid var(--rks-lys); border-radius: 8px; padding: .6rem .9rem; margin: .4rem 0; cursor: pointer; color: inherit; }
.rks-quiz__svar:hover:not(:disabled) { border-color: var(--rks-a); }
.rks-quiz__svar:disabled { cursor: default; opacity: .75; }
.rks-quiz__svar.er-rigtig { border-color: var(--rks-ok); background: var(--rks-ok-lys); opacity: 1; }
.rks-quiz__svar.er-rigtig::before { content: "✓ "; color: var(--rks-ok); font-weight: 700; }
.rks-quiz__svar.er-forkert { border-color: var(--rks-fejl); background: var(--rks-fejl-lys); opacity: 1; }
.rks-quiz__svar.er-forkert::before { content: "✗ "; color: var(--rks-fejl); font-weight: 700; }
.rks-quiz__feedback:empty { display: none; }
.rks-quiz__feedback { border-radius: 8px; padding: .6rem .9rem; margin-top: .4rem; font-size: .95rem; }
.rks-quiz__feedback.er-rigtig { background: var(--rks-ok-lys); }
.rks-quiz__feedback.er-forkert { background: var(--rks-fejl-lys); }
.rks-quiz__resultat { font-weight: 700; font-size: 1.1rem; }

/* Tjekliste */
.rks-tjek { list-style: none; padding: 0; margin: 0; }
.rks-tjek li { display: flex; gap: .7rem; align-items: flex-start; padding: .45rem 0; border-bottom: 1px solid var(--rks-lys); }
.rks-tjek input { width: 1.25rem; height: 1.25rem; margin-top: .2rem; accent-color: var(--rks-ok); flex: none; }
.rks-tjek input:checked + label { color: var(--rks-graa); text-decoration: line-through; }
.rks-tjek__status { font-size: .9rem; margin: .25rem 0; }

/* Oplægsbygger */
.rks-ob__felt { margin: 0 0 1rem; }
.rks-ob__felt label { display: block; font-weight: 700; margin-bottom: .3rem; }
.rks-ob__felt textarea { width: 100%; font: inherit; padding: .6rem .75rem; border: 2px solid var(--rks-lys); border-radius: 8px; resize: vertical; }
.rks-ob__felt textarea:focus { border-color: var(--rks-a); outline: none; }

/* Ordliste */
.rks-ord__soeg { width: 100%; font: inherit; padding: .6rem .9rem; border: 2px solid var(--rks-lys); border-radius: 999px; margin-bottom: .5rem; }
.wp-block-rks-ordliste td:first-child { font-weight: 700; white-space: nowrap; }

/* Tidslinje – fuld */
.rks-tidslinje ol { list-style: none; margin: 0; padding: 0; }
.rks-tidslinje--fuld ol { position: relative; }
.rks-tidslinje--fuld ol::before { content: ""; position: absolute; left: 1.2rem; top: .5rem; bottom: .5rem; width: 3px; background: var(--rks-lys); }
.rks-tidslinje--fuld .rks-tl__fase { position: relative; display: grid; grid-template-columns: 2.4rem 1fr; gap: 1rem; padding: 0 0 1.5rem; }
.rks-tl__markor { width: 2.4rem; height: 2.4rem; border-radius: 50%; background: #fff; border: 3px solid var(--rks-lys); display: flex; align-items: center; justify-content: center; font-weight: 700; position: relative; z-index: 1; }
.rks-tl__indhold { background: #fff; border: 1px solid var(--rks-lys); border-radius: 10px; padding: .9rem 1.1rem; }
.rks-tl__tid { margin: 0; font-size: .85rem; font-weight: 700; color: var(--rks-a); text-transform: uppercase; letter-spacing: .05em; }
.rks-tl__titel { margin: .15rem 0 .35rem; font-size: 1.15rem; }
.rks-tl__tekst p, .rks-tl__tekst ul { margin: .2rem 0; }
.rks-tl__link { margin: .4rem 0 0; font-weight: 600; }
.rks-tl__note { margin-top: .5rem; font-size: .9rem; background: var(--rks-a-lys); padding: .5rem .75rem; border-radius: 6px; }
.rks-tl__maerke { display: inline-block; font-size: .75rem; background: var(--rks-a); color: #fff; border-radius: 999px; padding: .05rem .6rem; margin: .3rem 0 0; }
.rks-tl__fase.er-afsluttet .rks-tl__markor { background: var(--rks-lys); color: var(--rks-graa); }
.rks-tl__fase.er-afsluttet .rks-tl__indhold { opacity: .7; }
.rks-tl__fase.er-aktuel .rks-tl__markor, .rks-tl__fase.er-naeste .rks-tl__markor { background: var(--rks-p); border-color: var(--rks-p); color: #fff; }
.rks-tl__fase.er-aktuel .rks-tl__indhold, .rks-tl__fase.er-naeste .rks-tl__indhold { border: 2px solid var(--rks-p); box-shadow: 0 4px 16px rgba(194,49,55,.12); }
.rks-tl__status { color: var(--rks-p); }
@media (min-width: 900px) {
	.rks-tidslinje--fuld.alignwide ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; align-items: start; }
	.rks-tidslinje--fuld.alignwide ol::before { left: 0; right: 0; top: 1.2rem; bottom: auto; width: auto; height: 3px; }
	.rks-tidslinje--fuld.alignwide .rks-tl__fase { grid-template-columns: 1fr; gap: .6rem; padding: 0; }
}

/* Tidslinje – kompakt bjælke */
.rks-tidslinje--kompakt { margin: 0 0 1.5rem; font-size: .85rem; }
.rks-tidslinje--kompakt .rks-tl__label { margin: 0 0 .35rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--rks-graa); }
.rks-tidslinje--kompakt ol { display: flex; gap: .25rem; overflow-x: auto; padding-bottom: .25rem; }
.rks-tidslinje--kompakt .rks-tl__fase { flex: 1 0 auto; }
.rks-tidslinje--kompakt .rks-tl__fase > a, .rks-tidslinje--kompakt .rks-tl__fase > span { display: flex; gap: .4rem; align-items: center; padding: .4rem .7rem; background: var(--rks-lys); border-radius: 6px; text-decoration: none; color: inherit; white-space: nowrap; height: 100%; }
.rks-tidslinje--kompakt .rks-tl__nr { font-weight: 700; color: var(--rks-graa); }
.rks-tidslinje--kompakt .er-afsluttet > a { opacity: .6; }
.rks-tidslinje--kompakt .er-aktuel > a, .rks-tidslinje--kompakt .er-naeste > a { background: var(--rks-p); color: #fff; font-weight: 700; }
.rks-tidslinje--kompakt .er-aktuel .rks-tl__nr, .rks-tidslinje--kompakt .er-naeste .rks-tl__nr { color: #fff; }

/* Editor */
.rks-blok-hint { font-size: 12px; background: #f0f6fc; border-left: 3px solid #2271b1; padding: 6px 10px; margin: 0 0 8px; }

/* ---------- Trin: bjælke ---------- */
.rks-trin ol { list-style: none; margin: 0; padding: 0; }
.rks-trin--bjaelke { margin: 0 0 1.5rem; }
.rks-trin--bjaelke ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35rem; counter-reset: none; }
.rks-trin__punkt a { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; background: var(--rks-lys); border-radius: 8px; text-decoration: none; color: inherit; font-size: .9rem; line-height: 1.2; height: 100%; }
.rks-trin__punkt a:hover { background: var(--rks-p-lys); }
.rks-trin__nr { flex: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; font-weight: 700; font-size: .85rem; }
.rks-trin__punkt.er-her a { background: var(--rks-p); color: #fff; font-weight: 700; }
.rks-trin__punkt.er-her .rks-trin__nr { color: var(--rks-p); }
@media (max-width: 640px) {
	.rks-trin__navn { font-size: .75rem; }
	.rks-trin__punkt a { flex-direction: column; text-align: center; gap: .25rem; padding: .45rem .25rem; }
}

/* ---------- Trin: kort på forsiden ---------- */
.rks-trin--kort ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.rks-trinkort { position: relative; background: #fff; border: 1px solid var(--rks-lys); border-top: 5px solid var(--rks-lys); border-radius: 10px; padding: 1rem 1.15rem 1.1rem; }
.rks-trinkort.er-aktuel, .rks-trinkort.er-naeste { border-top-color: var(--rks-p); box-shadow: 0 4px 16px rgba(194,49,55,.10); }
.rks-trinkort.er-afsluttet { opacity: .75; }
.rks-trinkort__top { display: flex; align-items: center; gap: .5rem; margin: 0 0 .4rem; font-size: .8rem; }
.rks-trinkort__nr { width: 2rem; height: 2rem; border-radius: 50%; background: var(--rks-p); color: #fff; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; }
.rks-trinkort__tid { font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--rks-a); }
.rks-trinkort__badge { margin-left: auto; background: var(--rks-p); color: #fff; border-radius: 999px; padding: .05rem .6rem; font-weight: 700; }
.rks-trinkort__navn { margin: 0 0 .3rem; font-size: 1.25rem; }
.rks-trinkort__navn a { color: inherit; text-decoration: none; }
.rks-trinkort__navn a:hover { color: var(--rks-p); }
.rks-trinkort__tekst { margin: 0 0 .5rem; font-size: .95rem; color: var(--rks-graa); }
.rks-trinkort__links { margin: 0; padding: 0; list-style: none; font-size: .95rem; }
.rks-trinkort__links li { padding: .2rem 0; border-top: 1px solid var(--rks-lys); }
.rks-trinkort__links a { text-decoration: none; }
.rks-trinkort__links a::before { content: "→ "; }

/* ---------- Frist-boks ---------- */
.rks-frist { background: var(--rks-a-lys); border-radius: 10px; padding: .85rem 1.15rem; margin: 1rem 0 1.5rem; }
.rks-frist__linje { margin: .15rem 0; }
.rks-frist__label { display: inline-block; min-width: 3.5rem; font-weight: 700; color: var(--rks-a); text-transform: uppercase; font-size: .8rem; letter-spacing: .05em; }
.rks-frist__tid { color: var(--rks-graa); }
.rks-frist a { color: inherit; }

/* ---------- Forrige / Næste ---------- */
.rks-naeste { display: flex; justify-content: space-between; gap: 1rem; margin: 3rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--rks-lys); }
.rks-naeste a { display: flex; flex-direction: column; text-decoration: none; padding: .75rem 1rem; border: 1px solid var(--rks-lys); border-radius: 10px; background: #fff; max-width: 48%; color: inherit; }
.rks-naeste a:hover { border-color: var(--rks-p); }
.rks-naeste__frem { margin-left: auto; text-align: right; }
.rks-naeste__label { font-size: .8rem; color: var(--rks-graa); }
.rks-naeste__titel { font-weight: 700; color: var(--rks-p); }
@media print { .rks-trin--bjaelke, .rks-naeste { display: none; } }
