/* Páginas de actividad del Diplomado LAF (tarea, reproductor de la sesión): mismo lenguaje que la ruta, sin la cara de Moodle. */
body.laf-act-on #page-header,
body.laf-act-on .activity-navigation, body.laf-act-on #page-footer, body.laf-act-on .activity-header [data-region="activity-information"] { display: none !important; }
body.laf-act-on, html:has(body.laf-act-on) { background: #0A110D !important; }
body.laf-act-on #page, body.laf-act-on #topofscroll, body.laf-act-on .main-inner { background: transparent !important; max-width: none !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
body.laf-act-on #region-main { background: transparent !important; border: 0 !important; padding: 0 !important; }
body.laf-act-on #page-content { padding: 0 !important; }

.laf-act-cab { position: relative; isolation: isolate; color: #fff; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; background: #0A110D var(--img) center 30% / cover; }
.laf-act-cab::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 17, 13, 0.97) 0%, rgba(10, 17, 13, 0.82) 50%, rgba(10, 17, 13, 0.35) 100%), linear-gradient(0deg, #0A110D 0%, rgba(10, 17, 13, 0) 50%); }
.laf-act-cab-in { max-width: 1100px; margin: 0 auto; padding: 34px 40px 40px; }
.laf-volver { display: inline-flex; align-items: center; gap: 8px; color: #CFE5D8 !important; text-decoration: none !important; font-weight: 600; font-size: 0.92rem; margin-bottom: 30px; }
.laf-volver:hover { color: #00A859 !important; }
.laf-act-tipo { margin: 0 0 10px; font: 800 italic 1.05rem/1 'Barlow Condensed', sans-serif; text-transform: uppercase; color: #00A859; display: flex; gap: 14px; align-items: baseline; }
.laf-act-tipo .n { font: 400 2.6rem/0.8 'Bebas Neue', sans-serif; color: #fff; font-style: normal; }
.laf-act-cab h1 { margin: 0; font: 900 italic clamp(2.2rem, 4.4vw, 3.8rem)/0.92 'Barlow Condensed', sans-serif; text-transform: uppercase; max-width: 900px; color: #fff; }
.laf-act-tablilla { height: 8px; background: repeating-linear-gradient(90deg, #00A859 0 10px, #fff 10px 20px); }

/* contenido de la actividad: tarjeta clara, legible, con las letras de la marca */
body.laf-act-on [role="main"] { max-width: 1100px; margin: 0 auto; padding: 36px 40px 70px; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
body.laf-act-on [role="main"] > h2, body.laf-act-on .page-header-headings { display: none; }
body.laf-act-on .activity-description, body.laf-act-on .box.generalbox, body.laf-act-on .submissionstatustable, body.laf-act-on .gradingsummary {
  background: #fff; border: 0 !important; border-radius: 0 !important; padding: 28px 32px !important; margin-bottom: 4px; color: #0A110D; }
body.laf-act-on .activity-description p { font-size: 1.05rem; line-height: 1.6; max-width: 820px; }
body.laf-act-on [role="main"] h3, body.laf-act-on [role="main"] h4 { font: 800 italic 1.6rem/1 'Barlow Condensed', sans-serif; text-transform: uppercase; color: #0A110D; margin: 0 0 14px; }
body.laf-act-on .submissionstatustable h3, body.laf-act-on .gradingsummary h3 { color: #005C30; }
body.laf-act-on .generaltable { background: transparent; } body.laf-act-on .generaltable th { width: 34%; color: #4A5A50; font-weight: 600; }
body.laf-act-on .generaltable td, body.laf-act-on .generaltable th { border-color: #E3EAE6 !important; padding: 12px 10px; background: transparent !important; }
body.laf-act-on .btn-primary, body.laf-act-on .btn-secondary { border-radius: 0 !important; font: 800 italic 1.15rem/1 'Barlow Condensed', sans-serif; text-transform: uppercase; padding: 13px 26px; }
body.laf-act-on .btn-primary { background: #00A859 !important; border-color: #00A859 !important; } body.laf-act-on .btn-primary:hover { background: #005C30 !important; }
body.laf-act-on .alert { border-radius: 0; }
/* el reproductor de la sesión ocupa toda la pantalla bajo la barra */
body.laf-act-on#page-mod-scorm-player [role="main"] { max-width: none; padding: 0; }
body.laf-act-on#page-mod-scorm-player #scormpage, body.laf-act-on#page-mod-scorm-player #scorm_layout { width: 100% !important; }
body.laf-act-on#page-mod-scorm-player #scorm_object { width: 100% !important; height: calc(100vh - 118px) !important; border: 0; display: block; }
body.laf-act-on#page-mod-scorm-player .laf-act-cab-in { padding: 14px 40px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
body.laf-act-on#page-mod-scorm-player .laf-volver { margin: 0; }
body.laf-act-on#page-mod-scorm-player .laf-act-cab h1 { font-size: 1.4rem; }
body.laf-act-on#page-mod-scorm-player .laf-act-tipo { margin: 0; }
body.laf-act-on#page-mod-scorm-player .scorm-right, body.laf-act-on#page-mod-scorm-player #scormtop, body.laf-act-on#page-mod-scorm-player .scorm-center > .d-flex { display: none !important; }

/* ruta: ajustes */
.laf-paso.bloqueado .laf-estado { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.laf-paso.bloqueado .laf-estado small { margin: 0 !important; }
.laf-insignias li > div { display: flex; flex-direction: column; align-items: center; gap: 8px; }
@media (max-width: 1000px) { .laf-act-cab-in, body.laf-act-on [role="main"] { padding-left: 20px; padding-right: 20px; } }
/* página de entrada de la sesión: un solo botón grande, sin datos técnicos de intentos */
body.laf-act-on#page-mod-scorm-view #scormviewform { background: #fff; padding: 30px 32px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
body.laf-act-on#page-mod-scorm-view #scormviewform::before { content: 'Unos 45 minutos. Se guarda tu avance: puedes salir y retomar.'; flex: 1 1 300px; color: #0A110D; font-size: 1.05rem; }
body.laf-act-on#page-mod-scorm-view #scormviewform button, body.laf-act-on#page-mod-scorm-view #scormviewform input[type=submit] { font-size: 1.6rem !important; padding: 18px 46px !important; }
body.laf-act-on#page-mod-scorm-view #scormviewform .form-check, body.laf-act-on#page-mod-scorm-view #scormviewform fieldset { display: none; }
body.laf-act-on#page-mod-scorm-view [role="main"] .box.generalbox, body.laf-act-on#page-mod-scorm-view [role="main"] > div:has(> .box) { display: none; }
body.laf-act-on .laf-act-cab .laf-volver { display: inline-flex !important; }
@media (max-width: 600px) { .laf-act-cab-in { padding: 24px 18px 28px; } .laf-act-cab h1 { font-size: 2rem; } body.laf-act-on [role='main'] { padding: 24px 14px 50px; } body.laf-act-on .activity-description, body.laf-act-on .box.generalbox { padding: 20px 18px !important; } }
body.laf-act-on #page { padding-top: 64px !important; }
.laf-act-tablilla { display: none; }
/* contraste: todo texto fuera de las tarjetas blancas va claro sobre el fondo oscuro */
body.laf-act-on [role="main"], body.laf-act-on [role="main"] p, body.laf-act-on [role="main"] li, body.laf-act-on [role="main"] div:not(.box):not(.generalbox) { color: #DCEBE2; }
body.laf-act-on [role="main"] a:not(.btn) { color: #00C468; }
body.laf-act-on .activity-description, body.laf-act-on .activity-description *, body.laf-act-on .box.generalbox, body.laf-act-on .box.generalbox *,
body.laf-act-on .submissionstatustable, body.laf-act-on .submissionstatustable *, body.laf-act-on .gradingsummary, body.laf-act-on .gradingsummary *, body.laf-act-on #scormviewform, body.laf-act-on #scormviewform * { color: #0A110D; }
body.laf-act-on .btn-primary, body.laf-act-on .btn-primary * { color: #fff !important; }
/* sesión: la descripción va dentro de la tarjeta, no suelta sobre el fondo */
body.laf-act-on#page-mod-scorm-view [role="main"] > .box.py-3:first-child { background: #fff; padding: 26px 32px 0; margin: 0; }
body.laf-act-on#page-mod-scorm-view [role="main"] > .box.py-3:first-child, body.laf-act-on#page-mod-scorm-view [role="main"] > .box.py-3:first-child * { color: #0A110D; font-size: 1.05rem; }
body.laf-act-on#page-mod-scorm-view #scormviewform::before { content: 'Se guarda tu avance: puedes salir y retomar.'; color: #4A5A50; }
body.laf-act-on#page-mod-scorm-view #scormviewform { padding-top: 14px; }
/* con el panel lateral abierto, el contenido se corre igual que en Moodle */
@media (min-width: 992px) { body.course-3 #page.drawers.show-drawer-left { margin-left: 285px !important; } }
body.laf-act-on .laf-act-cab-in { padding-left: 64px; padding-right: 64px; } body.laf-act-on [role='main'] { padding-left: 64px; padding-right: 64px; } body.laf-act-on #region-main { max-width: 1240px; margin: 0 auto !important; }

/* ---------- guía de las actividades: pasos numerados, botones de descarga y rúbrica ---------- */
body.course-3 .laf-guia { color: #0A110D; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
body.course-3 .laf-guia * { color: inherit; }
body.course-3 .laf-glead { font-size: 1.15rem !important; line-height: 1.55; max-width: 800px; margin: 0 0 18px; }
body.course-3 .laf-gdatos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 0 0 26px; }
body.course-3 .laf-gdatos span { background: #F2F5F3; padding: 12px 16px; font-size: 0.86rem; color: #4A5A50; }
body.course-3 .laf-gdatos b { display: block; font: 800 italic 1.3rem/1.1 'Barlow Condensed', sans-serif; text-transform: uppercase; color: #005C30; }
body.course-3 .laf-guia h3 { font: 800 italic 1.6rem/1 'Barlow Condensed', sans-serif !important; text-transform: uppercase; color: #0A110D !important; margin: 26px 0 12px !important; }
body.course-3 .laf-gpasos { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
body.course-3 .laf-gpaso { display: grid; grid-template-columns: 64px 1fr; gap: 16px; background: #F2F5F3; padding: 18px 20px; align-items: start; }
body.course-3 .laf-gnum { font: 400 3rem/0.85 'Bebas Neue', sans-serif; color: #00A859 !important; text-align: center; }
body.course-3 .laf-gpaso h4 { margin: 0 0 4px !important; font: 800 italic 1.3rem/1.05 'Barlow Condensed', sans-serif !important; text-transform: uppercase; color: #0A110D !important; }
body.course-3 .laf-gpaso p { margin: 0 0 10px; max-width: 760px; color: #33433A !important; }
body.course-3 a.laf-gbtn { display: inline-block; background: #00894A; color: #fff !important; text-decoration: none !important; font: 800 italic 1.05rem/1 'Barlow Condensed', sans-serif; text-transform: uppercase; padding: 11px 18px; }
body.course-3 a.laf-gbtn:hover { background: #005C30; }
body.course-3 a.laf-gbtn.sec { background: transparent; color: #005C30 !important; border: 2px solid #005C30; }
body.course-3 a.laf-gbtn.sec:hover { background: #005C30; color: #fff !important; }
body.course-3 .laf-rubrica { width: 100%; border-collapse: collapse; font-size: 0.86rem; }
body.course-3 .laf-rubrica th, body.course-3 .laf-rubrica td { border: 1px solid #DCE4DF; padding: 9px 10px; text-align: left; vertical-align: top; }
body.course-3 .laf-rubrica thead th { background: #005C30; color: #fff !important; font-weight: 700; }
body.course-3 .laf-rubrica tbody th { background: #F2F5F3; font-weight: 700; width: 22%; }
body.course-3 .laf-gnota { margin: 16px 0 0; font-size: 0.84rem; color: #6F8577 !important; }
@media (max-width: 760px) { body.course-3 .laf-gdatos { grid-template-columns: 1fr; } body.course-3 .laf-gpaso { grid-template-columns: 44px 1fr; padding: 14px; } body.course-3 .laf-rubrica { display: block; overflow-x: auto; } }

/* ---------- metadatos de cada paso: tipo destacado + tiempo con reloj ---------- */
.laf-metas { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; }
.laf-tipo { display: inline-flex; align-items: center; gap: 6px; background: #00A859; color: #fff !important; font: 800 italic 0.95rem/1 'Barlow Condensed', sans-serif; text-transform: uppercase; padding: 6px 10px 5px; letter-spacing: 0.02em; }
.laf-tipo.act { background: transparent; color: #00C468 !important; box-shadow: inset 0 0 0 2px #00A859; }
.laf-dato { display: inline-flex; align-items: center; gap: 6px; font: 600 0.88rem/1 'Plus Jakarta Sans', sans-serif; color: #CFE5D8; }
.laf-dato svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }
.laf-paso.disponible .laf-dato { color: #33433A; } .laf-paso.disponible .laf-tipo.act { color: #005C30 !important; }
.laf-paso.bloqueado .laf-tipo { background: #24332A; color: #9FB5A8 !important; box-shadow: none; } .laf-paso.bloqueado .laf-dato { color: #6F8577; }
.laf-act-cab .laf-metas { margin-bottom: 14px; } .laf-act-cab .laf-tipo { font-size: 1.1rem; padding: 8px 12px 7px; } .laf-act-cab .laf-dato { font-size: 1rem; }
.laf-act-cab .laf-paso-num { font: 400 3.2rem/0.8 'Bebas Neue', sans-serif; color: #fff; margin-right: 4px; }
