.k2-catalogue{max-width:1180px;margin:32px auto;padding:0 20px;color:#0b1f4d}
@view-transition{navigation:none}
.k2-catalogue h2{font-size:clamp(24px,4vw,36px)}
.k2-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.k2-filters[hidden],.k2-list [hidden],[data-k2-empty][hidden]{display:none!important}
.k2-filters label{display:flex;flex-direction:column;gap:8px;font-weight:700;min-width:0}
.k2-filters select,[data-k2-reset],.k2-back{font:inherit;min-height:44px;padding:10px 12px;border:2px solid #0b1f4d;border-radius:8px;background:#fff;color:#0b1f4d;max-width:100%;box-sizing:border-box}
.k2-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.k2-list li{min-width:0;border-top:2px solid #0b1f4d}
.k2-list a{display:flex;flex-direction:column;height:100%;padding:20px 0;text-decoration:none;color:inherit;box-sizing:border-box;overflow-wrap:anywhere}
.k2-list h3{font-size:22px;line-height:1.25;margin:0 0 12px}
.k2-list p{margin:0 0 16px;line-height:1.5}
.k2-list span{font-size:15px;color:#4a5a72}
.k2-list .k2-open{margin-top:16px;font-weight:700;color:#137a51}
.k2-list a:hover h3{text-decoration:underline}
.k2-catalogue :focus-visible,.k2-page :focus-visible,.k2-course-links :focus-visible{outline:3px solid #2f5bd8;outline-offset:4px}
.k2-page{max-width:1180px;margin:auto;padding:24px 20px;box-sizing:border-box}
.k2-page h1{font-size:clamp(28px,5vw,48px);overflow-wrap:anywhere}
.k2-volver{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 0}
.k2-back{display:inline-flex;align-items:center;text-decoration:none}
.k2-frame{display:block;width:100%;height:850px;border:0;border-radius:12px;background:#fff6e9}
.k2-course-links{margin:24px 0;padding:16px 0;border-top:1px solid #0b1f4d}
.k2-course-links h3{margin:0 0 12px}
.k2-course-links ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}
.k2-course-links a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:10px 14px;background:#fff;border:2px solid #137a51;border-radius:8px;color:#0b1f4d}
/* Migas: el separador va tras cada ítem, nunca suelto al comienzo de una línea. */
.migas ol{align-items:center}
.migas li+li::before{content:none}
.migas li:not(:last-child)::after{content:"›";margin:0 8px;color:var(--tinta-suave);font-weight:300}
/* Índice: un solo buscador, con margen y ejemplo completos. */
body.molde-aula main>.migas>ol{padding-inline:16px}
/* El hueco grande a la izquierda del campo es para la lupa, que ahora existe:
   sin este renglón, el K2 dejaba el texto del campo encima de la lupa. */
body.molde-aula .buscador-aula input{padding-left:52px}
body.molde-aula .buscador-aula{height:auto;min-height:56px}
@media(max-width:900px){.k2-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
.k2-filters,.k2-list{grid-template-columns:1fr}
.k2-catalogue{padding-left:16px;padding-right:16px}
.k2-page{padding-left:0;padding-right:0}
.k2-volver .k2-back{width:100%}
/* Página de juego en móvil: sin imagen de cabecera y juego a todo el ancho útil. */
body.molde-material .material-cabeza picture{display:none}
}
@media(prefers-reduced-motion:reduce){.k2-catalogue *,.k2-page *{scroll-behavior:auto;transition:none}}
