/* Aula LMS — estilos públicos. Toma los colores del tema Aula si está activo. */
:root {
	--alms-primary: var(--aula-primario, #015ff3);
	--alms-accent: var(--aula-acento, #fc8f0c);
	--alms-ink: var(--aula-tinta, #071f43);
	--alms-text: var(--aula-texto, #334155);
	--alms-muted: var(--aula-suave, #64748b);
	--alms-border: var(--aula-borde, #e8eaf3);
	--alms-bg: var(--aula-fondo, #ffffff);
	--alms-bg-alt: var(--aula-fondo-alt, #f6f7fc);
	--alms-radius: var(--aula-radio, 20px);
	--alms-shadow: var(--aula-sombra, 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px rgba(15, 23, 42, .06));
	--alms-tint: color-mix(in srgb, var(--alms-primary) 9%, #fff);
	--alms-tint-2: color-mix(in srgb, var(--alms-primary) 16%, #fff);
	--alms-accent-tint: color-mix(in srgb, var(--alms-accent) 12%, #fff);
	--alms-grad: linear-gradient(135deg, var(--alms-primary), color-mix(in srgb, var(--alms-primary) 55%, #071f43));
	--alms-ok: #059669;
	--alms-ok-bg: #ecfdf5;
	--alms-warn-bg: #fff4e0;
	--alms-error: #b42318;
	--alms-error-bg: #fdecea;
}
.alms { color: var(--alms-text); }
.alms *, .alms *::before, .alms *::after { box-sizing: border-box; }
.alms a { color: var(--alms-primary); }
.alms h1, .alms h2, .alms h3 { color: var(--alms-ink); }
.alms img { max-width: 100%; height: auto; display: block; }
.alms-container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.alms-muted { color: var(--alms-muted); }
.alms .small { font-size: .9rem; }
.alms-icon { flex: none; vertical-align: middle; }
.alms-inline-icon { display: inline-flex; align-items: center; gap: 6px; }

/* Botones */
.alms-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 22px; border-radius: 999px; border: 2px solid var(--alms-primary);
	background: var(--alms-primary); color: #fff !important; font: inherit; font-weight: 700; line-height: 1.2;
	cursor: pointer; text-decoration: none !important; transition: transform .15s ease, filter .15s ease;
}
.alms-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.alms-btn:focus-visible { outline: 3px solid var(--alms-accent); outline-offset: 2px; }
.alms-btn-outline { background: transparent; color: var(--alms-primary) !important; }
.alms-btn-block { display: flex; width: 100%; }
.alms-btn-block + .alms-btn-block, .alms-action-form + .alms-btn-block { margin-top: 10px; }
.alms-action-form { margin: 0; }
.alms-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; text-decoration: none; }

/* Avisos */
.alms-notice { padding: 14px 18px; border-radius: 12px; margin: 0 0 20px; background: var(--alms-bg-alt); border: 1px solid var(--alms-border); }
.alms-notice ul { margin: 0; padding-left: 18px; }
.alms-notice-ok { background: var(--alms-ok-bg); border-color: #b9e4cd; color: #135c3c; }
.alms-notice-warn { background: var(--alms-warn-bg); border-color: #f5d9a8; color: #7a4a00; }
.alms-notice-error { background: var(--alms-error-bg); border-color: #f5c2bd; color: var(--alms-error); }
.alms-notice-info a { font-weight: 700; margin-left: 6px; }

/* Encabezado de curso / catálogo */
.alms-hero { background: var(--alms-bg-alt); border-bottom: 1px solid var(--alms-border); padding: 48px 0 40px; }
.alms-title { font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.15; margin: 0 0 12px; letter-spacing: -.02em; }
.alms-lead { font-size: 1.12rem; max-width: 720px; margin: 0 0 18px; color: var(--alms-text); }
.alms-crumbs { font-size: .92rem; color: var(--alms-muted); margin-bottom: 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.alms-crumbs a { text-decoration: none; font-weight: 600; }
.alms-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--alms-muted); font-weight: 600; font-size: .95rem; }
.alms-facts li { display: inline-flex; align-items: center; gap: 7px; }
.alms-facts .alms-icon { color: var(--alms-primary); }
.alms-facts-sm { font-size: .86rem; gap: 6px 16px; margin-bottom: 14px; }
.alms-facts-sm .alms-icon { width: 17px; height: 17px; }
.alms-eyebrow { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--alms-primary); margin: 0 0 6px; }

/* Distribución del curso */
.alms-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; padding-top: 40px; padding-bottom: 72px; align-items: start; }
.alms-section { margin-bottom: 40px; }
.alms-section > h2, .alms-box > h2 { font-size: 1.4rem; margin: 0 0 16px; }
.alms-box { background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); padding: 24px; margin-bottom: 32px; }
.alms-outcomes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.alms-outcomes li { display: flex; gap: 10px; align-items: flex-start; }
.alms-outcomes .alms-icon { color: var(--alms-ok); margin-top: 3px; }

/* Temario */
.alms-module { border: 1px solid var(--alms-border); border-radius: var(--alms-radius); margin-bottom: 14px; overflow: hidden; background: var(--alms-bg); }
.alms-module-title { margin: 0; padding: 14px 18px; background: var(--alms-bg-alt); font-size: 1rem; display: flex; justify-content: space-between; gap: 12px; align-items: baseline; border-bottom: 1px solid var(--alms-border); }
.alms-module-title small { color: var(--alms-muted); font-weight: 600; font-size: .85rem; white-space: nowrap; }
.alms-lessons { list-style: none; margin: 0; padding: 0; }
.alms-lesson { display: flex; align-items: center; gap: 12px; padding: 13px 18px; border-top: 1px solid var(--alms-border); }
.alms-lesson:first-child { border-top: 0; }
.alms-lesson-icon { width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--alms-bg-alt); color: var(--alms-primary); flex: none; }
.alms-lesson-icon .alms-icon { width: 17px; height: 17px; }
.alms-lesson.is-done .alms-lesson-icon, .alms-outline-item.is-done .alms-lesson-icon { background: var(--alms-ok); color: #fff; }
.alms-lesson.is-locked .alms-lesson-icon, .alms-outline-item.is-locked .alms-lesson-icon { color: var(--alms-muted); }
.alms-lesson-title { flex: 1; font-weight: 600; color: var(--alms-ink); text-decoration: none; }
.alms-lesson.is-locked .alms-lesson-title { color: var(--alms-muted); }
.alms-lesson-time { color: var(--alms-muted); font-size: .88rem; white-space: nowrap; }
.alms-tag { font-size: .74rem; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: var(--alms-tint); color: var(--alms-primary); white-space: nowrap; }

/* Tarjeta lateral */
.alms-card { background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); box-shadow: var(--alms-shadow); overflow: hidden; }
.alms-sticky { position: sticky; top: 24px; }
.alms-card-media { aspect-ratio: 16 / 9; background: var(--alms-bg-alt); }
.alms-card-media img { width: 100%; height: 100%; object-fit: cover; }
.alms-media-placeholder { width: 100%; height: 100%; min-height: 120px; display: flex; align-items: center; justify-content: center; color: var(--alms-primary); background: linear-gradient(135deg, var(--alms-tint), #fff3e0); }
.alms-media-placeholder .alms-icon { width: 44px; height: 44px; }
.alms-card-body { padding: 22px; }
.alms-card-label { font-weight: 700; color: var(--alms-ink); margin: 0 0 8px; }
.alms-price { font-size: 1.7rem; font-weight: 800; color: var(--alms-ink); margin: 0 0 14px; }
.alms-card-list { list-style: none; margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--alms-border); display: grid; gap: 10px; font-size: .93rem; }
.alms-card-list li { display: flex; gap: 10px; align-items: center; }
.alms-card-list .alms-icon { color: var(--alms-primary); width: 18px; height: 18px; }
.alms-done-msg { display: flex; align-items: center; gap: 8px; color: var(--alms-ok); font-weight: 700; margin: 14px 0 0; }
.alms-admin-links { margin: 16px 0 0; font-size: .88rem; }

/* Progreso */
.alms-progress { margin: 0 0 16px; }
.alms-progress-bar { height: 8px; background: var(--alms-bg-alt); border: 1px solid var(--alms-border); border-radius: 999px; overflow: hidden; }
.alms-progress-bar span { display: block; height: 100%; background: var(--alms-primary); border-radius: 999px; transition: width .4s ease; }
.alms-progress-text { margin: 6px 0 0; font-size: .86rem; color: var(--alms-muted); display: flex; gap: 8px; align-items: baseline; }
.alms-progress-text strong { color: var(--alms-ink); }

/* Lección */
.alms-lesson-page { background: var(--alms-bg-alt); }
.alms-player { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 32px; padding-top: 32px; padding-bottom: 72px; align-items: start; }
.alms-outline { background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); position: sticky; top: 24px; max-height: calc(100vh - 48px); display: flex; flex-direction: column; overflow: hidden; }
.alms-outline-head { padding: 18px; border-bottom: 1px solid var(--alms-border); }
.alms-outline-head .alms-progress { margin: 12px 0 0; }
.alms-outline-course { display: flex; gap: 8px; align-items: flex-start; font-weight: 700; color: var(--alms-ink) !important; text-decoration: none; line-height: 1.35; }
.alms-outline-course .alms-icon { margin-top: 1px; color: var(--alms-primary); }
.alms-outline-list { overflow-y: auto; padding: 8px 0 12px; }
.alms-outline-list ol { list-style: none; margin: 0; padding: 0; }
.alms-outline-module { margin: 12px 18px 4px; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--alms-muted); }
.alms-outline-item { display: flex; gap: 10px; align-items: center; padding: 9px 18px; font-size: .94rem; border-left: 3px solid transparent; }
.alms-outline-item .alms-lesson-icon { width: 26px; height: 26px; }
.alms-outline-item a, .alms-outline-item > span:last-child { color: var(--alms-text); text-decoration: none; line-height: 1.35; }
.alms-outline-item.is-current { background: var(--alms-tint); border-left-color: var(--alms-primary); }
.alms-outline-item.is-current a { color: var(--alms-ink); font-weight: 700; }
.alms-outline-item.is-locked > span:last-child { color: var(--alms-muted); }
.alms-outline-toggle { display: none; }
.alms-lesson-main { background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); padding: 32px; min-width: 0; }
.alms-lesson-head { margin-bottom: 22px; }
.alms-lesson-head .alms-title { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.alms-lesson-head p { margin: 0; }
.alms-video { position: relative; margin: 0 0 26px; border-radius: 12px; overflow: hidden; background: #000; }
.alms-video iframe, .alms-video video, .alms-video .wp-video { display: block; width: 100% !important; aspect-ratio: 16 / 9; height: auto; border: 0; }
.alms-content { font-size: 1.04rem; line-height: 1.7; }
.alms-lesson-actions { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--alms-border); display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
.alms-lesson-actions .alms-done-msg { margin: 0; }
.alms-lesson-actions .alms-notice { margin: 0; flex: 1; }
.alms-locked { text-align: center; padding: 48px 20px; border: 1px dashed var(--alms-border); border-radius: var(--alms-radius); background: var(--alms-bg-alt); }
.alms-locked h2 { font-size: 1.35rem; margin: 12px 0 8px; }
.alms-locked-icon { width: 56px; height: 56px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--alms-tint); color: var(--alms-primary); }
.alms-locked-icon .alms-icon { width: 26px; height: 26px; }
.alms-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 28px; }
.alms-pager a { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; border: 1px solid var(--alms-border); border-radius: 12px; text-decoration: none; }
.alms-pager a:hover { border-color: var(--alms-primary); }
.alms-pager small { color: var(--alms-muted); font-weight: 600; }
.alms-pager span { color: var(--alms-ink); font-weight: 700; }
.alms-pager-next { text-align: right; grid-column: 2; }

/* Catálogo y tarjetas */
.alms-catalog .alms-section { padding-top: 40px; padding-bottom: 72px; margin-bottom: 0; }
.alms-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; }
.alms-chips a { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--alms-border); background: var(--alms-bg); color: var(--alms-text); font-weight: 600; font-size: .92rem; text-decoration: none; }
.alms-chips a.is-active, .alms-chips a:hover { background: var(--alms-primary); border-color: var(--alms-primary); color: #fff; }
.alms-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.alms-course-card { display: flex; flex-direction: column; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.alms-course-card:hover { box-shadow: var(--alms-shadow); transform: translateY(-2px); }
.alms-course-card-media { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--alms-bg-alt); }
.alms-course-card-media img { width: 100%; height: 100%; object-fit: cover; }
.alms-course-card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.alms-course-card-body h3 { font-size: 1.12rem; margin: 0 0 10px; line-height: 1.3; }
.alms-course-card-body h3 a { color: var(--alms-ink); text-decoration: none; }
.alms-course-card-body .alms-link { margin-top: auto; }
.alms-badge { position: absolute; top: 12px; left: 12px; background: var(--alms-ok); color: #fff; font-size: .78rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.alms-badge-ok { position: static; }
.alms-empty { text-align: center; color: var(--alms-muted); padding: 40px 0; }
.alms-pagination { margin-top: 32px; }
.alms-pagination .nav-links { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.alms-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--alms-border); border-radius: 10px; text-decoration: none; }
.alms-pagination .current { background: var(--alms-primary); color: #fff; border-color: var(--alms-primary); }

/* Formularios de acceso */
.alms-auth { display: flex; justify-content: center; padding: 16px 0 40px; }
.alms-auth-card { width: 100%; max-width: 520px; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: calc(var(--alms-radius) + 4px); box-shadow: var(--alms-shadow); padding: 36px; }
.alms-auth-card h2 { font-size: 1.6rem; margin: 0 0 6px; }
.alms-auth-card > .alms-muted { margin: 0 0 22px; }
.alms-auth-alt { text-align: center; margin: 22px 0 0; color: var(--alms-muted); }
.alms-auth-alt a { font-weight: 700; }
.alms-form { margin: 0; }
.alms-field { margin: 0 0 16px; display: flex; flex-direction: column; gap: 6px; }
.alms-field label { font-weight: 600; color: var(--alms-ink); font-size: .94rem; }
.alms-field small { color: var(--alms-muted); font-size: .82rem; }
.alms-form input[type="text"], .alms-form input[type="email"], .alms-form input[type="password"] {
	width: 100%; padding: 12px 14px; border: 1px solid var(--alms-border); border-radius: 10px; font: inherit; color: var(--alms-ink); background: #fff;
}
.alms-form input:focus { outline: none; border-color: var(--alms-primary); box-shadow: 0 0 0 3px rgba(47, 63, 181, .15); }
.alms-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.alms-field-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 20px; font-size: .92rem; }
.alms-check { display: inline-flex !important; align-items: center; gap: 8px; font-weight: 500 !important; flex-direction: row !important; }
.alms-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.alms-fieldset { border: 1px solid var(--alms-border); border-radius: 12px; padding: 16px 18px 2px; margin: 4px 0 18px; }
.alms-fieldset legend { font-weight: 700; color: var(--alms-ink); padding: 0 6px; }
.alms-fieldset .alms-muted { margin: 0 0 12px; }

/* Panel del alumno */
.alms-dashboard { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; padding: 8px 0 40px; }
.alms-dash-nav { background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); padding: 18px; position: sticky; top: 24px; }
.alms-dash-user { display: flex; gap: 12px; align-items: center; padding-bottom: 16px; margin-bottom: 10px; border-bottom: 1px solid var(--alms-border); min-width: 0; }
.alms-dash-user img { border-radius: 50%; flex: none; }
.alms-dash-user div { min-width: 0; }
.alms-dash-user strong { display: block; color: var(--alms-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.alms-dash-user small { display: block; color: var(--alms-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.alms-dash-nav nav { display: flex; flex-direction: column; gap: 2px; }
.alms-dash-nav nav a { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; color: var(--alms-text); font-weight: 600; text-decoration: none; }
.alms-dash-nav nav a:hover { background: var(--alms-bg-alt); }
.alms-dash-nav nav a.is-active { background: var(--alms-tint); color: var(--alms-primary); }
.alms-dash-content { min-width: 0; }
.alms-dash-head { margin-bottom: 22px; }
.alms-dash-head h2 { margin: 0 0 4px; font-size: 1.7rem; }
.alms-dash-head p { margin: 0; }
.alms-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px; }
.alms-stat { background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); padding: 18px; }
.alms-stat span { display: block; color: var(--alms-muted); font-size: .88rem; font-weight: 600; }
.alms-stat strong { display: block; font-size: 1.9rem; color: var(--alms-ink); line-height: 1.2; margin-top: 4px; }
.alms-resume { display: grid; grid-template-columns: 260px 1fr; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); overflow: hidden; margin-bottom: 32px; box-shadow: var(--alms-shadow); }
.alms-resume-media { background: var(--alms-bg-alt); min-height: 180px; }
.alms-resume-media img { width: 100%; height: 100%; object-fit: cover; }
.alms-resume-body { padding: 22px 26px; }
.alms-resume-body h3 { margin: 0 0 6px; font-size: 1.3rem; }
.alms-resume-body h3 a { color: var(--alms-ink); text-decoration: none; }
.alms-resume-body .alms-muted { margin: 0 0 14px; }
.alms-dash-section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; }
.alms-dash-section-head h3 { margin: 0; font-size: 1.2rem; }
.alms-grid-sm { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.alms-empty-box { text-align: center; padding: 40px 20px; border: 1px dashed var(--alms-border); border-radius: var(--alms-radius); background: var(--alms-bg); }
.alms-empty-box h3 { margin: 12px 0 6px; }
.alms-dashboard .alms-chips { margin-bottom: 20px; }
.alms-course-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.alms-course-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 20px; align-items: center; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); padding: 14px; }
.alms-course-row-media { display: block; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; background: var(--alms-bg-alt); }
.alms-course-row-media img { width: 100%; height: 100%; object-fit: cover; }
.alms-course-row-media .alms-media-placeholder { min-height: 0; }
.alms-course-row-body h3 { margin: 0 0 2px; font-size: 1.08rem; }
.alms-course-row-body h3 a { color: var(--alms-ink); text-decoration: none; }
.alms-course-row-body p { margin: 0 0 10px; }
.alms-course-row-body .alms-progress { margin: 0; }
.alms-course-row-action { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }

/* Ancho completo para páginas del plugin dentro de temas con contenedor angosto */
.alms-page .entry-content > .alms-dashboard, .alms-page .entry-content > .alms-auth { max-width: none; }

/* Adaptable */
@media (max-width: 960px) {
	.alms-layout { grid-template-columns: 1fr; }
	.alms-aside { order: -1; }
	.alms-sticky { position: static; }
	.alms-player { grid-template-columns: 1fr; gap: 16px; padding-top: 16px; }
	.alms-outline { position: static; max-height: none; display: none; }
	.alms-outline.is-open { display: flex; }
	.alms-outline-toggle { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 9px 14px; border: 1px solid var(--alms-border); border-radius: 999px; background: var(--alms-bg); font: inherit; font-weight: 600; color: var(--alms-ink); cursor: pointer; }
	.alms-dashboard { grid-template-columns: minmax(0, 1fr); }
	.alms-dash-nav { position: static; }
	.alms-dash-nav nav { flex-direction: row; flex-wrap: wrap; }
	.alms-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.alms-container { padding: 0 16px; }
	.alms-hero { padding: 32px 0 28px; }
	.alms-outcomes { grid-template-columns: 1fr; }
	.alms-lesson-main { padding: 20px 16px; }
	.alms-auth-card { padding: 24px 18px; }
	.alms-field-grid { grid-template-columns: 1fr; }
	.alms-resume { grid-template-columns: 1fr; }
	.alms-resume-media { min-height: 0; aspect-ratio: 16 / 9; }
	.alms-course-row { grid-template-columns: 96px minmax(0, 1fr); }
	.alms-course-row-action { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; align-items: center; }
	.alms-pager { grid-template-columns: 1fr; }
	.alms-pager-next { grid-column: auto; }
	.alms-dash-nav nav a { padding: 8px 10px; font-size: .92rem; }
}

/* ---- 2.0: marca, evaluaciones, archivos, comentarios, paneles ---- */
.alms-block { display: block; }
.alms-brand { display: flex; align-items: center; justify-content: center; gap: 14px; }
.alms-brand img { max-height: 46px; max-width: 46%; width: auto; object-fit: contain; }
.alms-brand-sep { width: 1px; height: 34px; background: var(--alms-border); }
.alms-brand-nav { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--alms-border); }
.alms-brand-auth { margin-bottom: 22px; }
.alms-brand-auth img { max-height: 54px; }
.alms-tag-quiz { background: #fff4e0; color: #7a4a00; }
.alms-tag-ok { background: var(--alms-ok-bg); color: #135c3c; }
.alms-lesson.is-quiz .alms-lesson-icon { background: #fff4e0; color: #a35f00; }
.alms-pay-option { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--alms-border); border-radius: 10px; margin-bottom: 8px; font-weight: 600; cursor: pointer; }
.alms-pay-option:has(input:checked) { border-color: var(--alms-primary); background: var(--alms-tint); }
.alms-checkout .alms-btn { margin-top: 6px; }
.alms-secure { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 10px 0 0; font-size: .82rem; }
.alms-secure .alms-icon { width: 14px; height: 14px; }
.alms-cert-btn { margin-top: 10px; }

/* Evaluación */
.alms-quiz { margin-top: 8px; }
.alms-quiz-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--alms-muted); font-weight: 600; font-size: .92rem; margin-bottom: 18px; }
.alms-quiz-meta span { display: inline-flex; align-items: center; gap: 6px; }
.alms-quiz-meta .alms-icon { color: var(--alms-primary); width: 18px; height: 18px; }
.alms-quiz-result { display: flex; align-items: center; gap: 14px; }
.alms-quiz-score { font-size: 1.8rem; line-height: 1; }
.alms-question { border: 1px solid var(--alms-border); border-radius: 12px; padding: 16px 18px 10px; margin: 0 0 14px; }
.alms-question legend { font-weight: 700; color: var(--alms-ink); padding: 0 6px; display: flex; gap: 10px; align-items: baseline; }
.alms-question-n { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; background: var(--alms-primary); color: #fff; font-size: .82rem; align-items: center; justify-content: center; flex: none; }
.alms-option { display: flex; gap: 10px; align-items: flex-start; padding: 9px 10px; border-radius: 8px; cursor: pointer; }
.alms-option:hover { background: var(--alms-bg-alt); }
.alms-option input { margin-top: 5px; accent-color: var(--alms-primary); }

/* Archivos */
.alms-files-box { margin-top: 28px; padding: 20px; border: 1px solid var(--alms-border); border-radius: var(--alms-radius); background: var(--alms-bg-alt); }
.alms-files-box h2 { font-size: 1.1rem; margin: 0 0 12px; }
.alms-files-box ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.alms-files-box a { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: 10px; font-weight: 600; text-decoration: none; }
.alms-files-box a:hover { border-color: var(--alms-primary); }

/* Comentarios */
.alms-comments { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--alms-border); }
.alms-comments h2 { font-size: 1.25rem; display: flex; gap: 8px; align-items: baseline; }
.alms-comments h2 small { color: var(--alms-muted); font-size: .9rem; }
.alms-comment-list, .alms-comment-list .children { list-style: none; margin: 0; padding: 0; }
.alms-comment-list .children { margin-left: 34px; border-left: 2px solid var(--alms-border); padding-left: 16px; }
.alms-comment-body { padding: 14px 0; }
.alms-comment-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.alms-comment-head img { border-radius: 50%; }
.alms-comment-head strong { color: var(--alms-ink); }
.alms-comment-head time { color: var(--alms-muted); font-size: .85rem; }
.alms-comment-text { margin: 6px 0 0 46px; }
.alms-comment-text p { margin: 0 0 .6em; }
.alms-comment.is-staff > .alms-comment-body .alms-comment-text { background: var(--alms-tint); border-radius: 10px; padding: 10px 14px; }
.alms-comment .comment-reply-link { margin-left: 46px; font-size: .88rem; font-weight: 700; }
.alms-comments .comment-respond { margin-top: 16px; }
.alms-comments .comment-reply-title { font-size: 1rem; }
.alms-comments textarea, .alms-reply-form textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--alms-border); border-radius: 10px; font: inherit; }

/* Paneles del equipo */
.alms-dash-head-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.alms-stats-6 { grid-template-columns: repeat(3, 1fr); }
.alms-stat-link { text-decoration: none; transition: border-color .15s; }
.alms-stat-link:hover { border-color: var(--alms-primary); }
.alms-stat.is-alert { border-color: #f5d9a8; background: var(--alms-warn-bg); }
.alms-stat-money { font-size: 1.4rem !important; }
.alms-quick { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.alms-quick a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--alms-border); border-radius: 999px; background: var(--alms-bg); color: var(--alms-ink); font-weight: 600; font-size: .92rem; text-decoration: none; }
.alms-quick a:hover { border-color: var(--alms-primary); color: var(--alms-primary); }
.alms-quick .alms-icon { width: 17px; height: 17px; color: var(--alms-primary); }
.alms-table-wrap { overflow-x: auto; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); margin-bottom: 28px; }
.alms-table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.alms-table th { text-align: left; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--alms-muted); padding: 12px 16px; background: var(--alms-bg-alt); border-bottom: 1px solid var(--alms-border); white-space: nowrap; }
.alms-table td { padding: 12px 16px; border-bottom: 1px solid var(--alms-border); vertical-align: middle; }
.alms-table tr:last-child td { border-bottom: 0; }
.alms-table-title { font-weight: 700; color: var(--alms-ink) !important; text-decoration: none; }
.alms-table-actions { white-space: nowrap; }
.alms-table-actions a { font-weight: 600; font-size: .88rem; margin-right: 12px; text-decoration: none; }
.alms-table-progress { min-width: 170px; }
.alms-table-progress .alms-progress { margin: 0; }
.alms-filter { margin-bottom: 16px; }
.alms-filter select { padding: 9px 12px; border: 1px solid var(--alms-border); border-radius: 10px; font: inherit; background: #fff; }
.alms-mini-list { list-style: none; margin: 0 0 28px; padding: 0; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); }
.alms-mini-list li { padding: 12px 16px; border-bottom: 1px solid var(--alms-border); font-size: .94rem; }
.alms-mini-list li:last-child { border-bottom: 0; }
.alms-staff-comments { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.alms-staff-comment { background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); padding: 16px 18px; }
.alms-staff-comment > p { margin: 6px 0 0; }
.alms-staff-comment blockquote { margin: 8px 0 0; padding-left: 12px; border-left: 3px solid var(--alms-border); }
.alms-staff-comment .alms-comment-text { margin: 10px 0; }
.alms-reply-actions { display: flex; gap: 10px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
.alms-reply-actions .alms-btn { padding: 9px 18px; font-size: .92rem; }
.alms-link-danger { background: none; border: 0; color: var(--alms-error); font: inherit; font-weight: 600; cursor: pointer; margin-left: auto; }
.alms-cert-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.alms-cert-item { display: flex; align-items: center; gap: 16px; background: var(--alms-bg); border: 1px solid var(--alms-border); border-radius: var(--alms-radius); padding: 16px 18px; }
.alms-cert-item > div { flex: 1; min-width: 0; }
.alms-cert-icon { width: 46px; height: 46px; border-radius: 50%; background: #fff4e0; color: #a35f00; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.alms-sign-box { margin-top: 24px; }
.alms-sign-box h3 { margin-top: 0; }
.alms-sign-preview { max-height: 70px; margin-bottom: 6px; }
@media (max-width: 960px) { .alms-stats-6 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
	.alms-cert-item { flex-wrap: wrap; }
	.alms-cert-item .alms-btn { width: 100%; }
	.alms-comment-text, .alms-comment .comment-reply-link { margin-left: 0; }
}
.alms-brand-nav { flex-direction: column; gap: 10px; }
.alms-brand-nav img { max-width: 100%; max-height: 52px; }
.alms-brand-nav .alms-brand-sep { width: 40px; height: 1px; }


/* =========================================================================
   3.0 — Diseño fresco y adaptable
   ====================================================================== */
.alms-btn { background: var(--alms-primary); background-image: var(--alms-grad); border: 0; padding: 13px 24px; box-shadow: 0 8px 18px color-mix(in srgb, var(--alms-primary) 22%, transparent); transition: transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.alms-btn:hover { box-shadow: 0 12px 24px color-mix(in srgb, var(--alms-primary) 30%, transparent); }
.alms-btn-outline { background: #fff; background-image: none; color: var(--alms-primary) !important; box-shadow: inset 0 0 0 1.5px var(--alms-border); }
.alms-btn-outline:hover { box-shadow: inset 0 0 0 1.5px var(--alms-primary); }
.alms-btn-ghost { background: var(--alms-bg-alt); background-image: none; color: var(--alms-ink) !important; box-shadow: none; }
.alms-btn-sm { padding: 9px 16px; font-size: .9rem; }
.alms-btn .alms-icon { width: 18px; height: 18px; }
.alms-notice { border-radius: 16px; border: 0; padding: 14px 18px; }
.alms-notice-ok { background: var(--alms-ok-bg); box-shadow: inset 4px 0 0 var(--alms-ok); }
.alms-notice-warn { box-shadow: inset 4px 0 0 #f59e0b; }
.alms-notice-error { box-shadow: inset 4px 0 0 var(--alms-error); }
.alms-tag { background: var(--alms-tint); }
.alms-tag-pagado { background: var(--alms-ok-bg); color: #047857; }
.alms-tag-pendiente { background: #fff7e6; color: #92400e; }
.alms-tag-revision { background: #eff6ff; color: #1d4ed8; }
.alms-tag-rechazado { background: #fef2f2; color: #b91c1c; }

/* Encabezado del curso */
.alms-hero { border-bottom: 0; background: radial-gradient(640px 320px at 92% 0%, color-mix(in srgb, var(--alms-accent) 16%, transparent), transparent 70%), radial-gradient(700px 400px at 0% 0%, color-mix(in srgb, var(--alms-primary) 11%, transparent), transparent 70%), linear-gradient(180deg, #fbfbff, var(--alms-bg-alt)); padding: 56px 0 48px; }
.alms-title { font-weight: 800; letter-spacing: -.03em; }
.alms-facts li { background: #fff; border: 1px solid var(--alms-border); border-radius: 999px; padding: 6px 14px; font-size: .9rem; }
.alms-facts-sm li { background: none; border: 0; padding: 0; }
.alms-eyebrow { display: inline-flex; align-items: center; gap: 6px; }
.alms-eyebrow .alms-icon { width: 16px; height: 16px; }

/* Tarjetas y cajas */
.alms-box, .alms-module, .alms-stat, .alms-table-wrap, .alms-mini-list, .alms-staff-comment, .alms-cert-item, .alms-course-row, .alms-empty-box { border-radius: var(--alms-radius); border-color: var(--alms-border); }
.alms-module { box-shadow: 0 1px 2px rgba(15, 23, 42, .03); }
.alms-module-title { background: #fff; padding: 16px 20px; }
.alms-lesson { padding: 14px 20px; transition: background-color .15s; }
.alms-lesson:hover { background: var(--alms-bg-alt); }
.alms-lesson-icon { background: var(--alms-tint); }
.alms-card { border: 1px solid var(--alms-border); box-shadow: 0 24px 50px rgba(15, 23, 42, .08); border-radius: 24px; }
.alms-card-media { margin: 10px 10px 0; border-radius: 16px; overflow: hidden; }
.alms-price { font-size: 2rem; letter-spacing: -.02em; }
.alms-pay-option { padding: 13px 14px; border-radius: 14px; border-width: 1.5px; transition: border-color .15s, background-color .15s; }
.alms-pay-option input { accent-color: var(--alms-primary); }
.alms-pay-option:has(input:checked) { border-color: var(--alms-primary); background: var(--alms-tint); }
.alms-pay-icon { display: inline-flex; width: 34px; height: 34px; border-radius: 10px; align-items: center; justify-content: center; background: #fff; color: var(--alms-primary); box-shadow: 0 1px 3px rgba(15, 23, 42, .08); }
.alms-pay-icon .alms-icon { width: 19px; height: 19px; }
.alms-pending-box { padding: 16px; border-radius: 16px; background: #eff6ff; margin-bottom: 4px; }
.alms-pending-box p { margin: 0 0 6px; color: #1e3a8a; }
.alms-pending-box .alms-btn { margin-top: 8px; }
.alms-progress-bar { height: 10px; border: 0; background: var(--alms-tint); }
.alms-progress-bar span { background-image: linear-gradient(90deg, var(--alms-primary), var(--alms-accent)); }
.alms-course-card { border-radius: var(--alms-radius); }
.alms-course-card:hover { box-shadow: 0 18px 40px rgba(15, 23, 42, .09); transform: translateY(-4px); }
.alms-media-placeholder { background: linear-gradient(135deg, var(--alms-tint), var(--alms-accent-tint)); }
.alms-chips a { border-radius: 999px; transition: all .15s; }
.alms-chips a.is-active, .alms-chips a:hover { background-image: var(--alms-grad); border-color: transparent; }

/* Formularios */
.alms-auth-card { border-radius: 28px; box-shadow: 0 30px 60px rgba(15, 23, 42, .08); border: 1px solid var(--alms-border); }
.alms-form input[type="text"], .alms-form input[type="email"], .alms-form input[type="password"], .alms-comments textarea, .alms-reply-form textarea, .alms-filter select { border-radius: 14px; border-width: 1.5px; padding: 13px 16px; background: var(--alms-bg-alt); transition: border-color .15s, background-color .15s, box-shadow .15s; }
.alms-form input:focus, .alms-comments textarea:focus, .alms-reply-form textarea:focus { background: #fff; border-color: var(--alms-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--alms-primary) 14%, transparent); outline: none; }

/* Lección */
.alms-lesson-main { border-radius: 24px; border: 0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 40px rgba(15, 23, 42, .05); padding: 36px; }
.alms-outline { border: 0; border-radius: 22px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 40px rgba(15, 23, 42, .05); }
.alms-outline-item { margin: 2px 10px; border-left: 0; border-radius: 12px; padding: 9px 12px; }
.alms-outline-item.is-current { background: var(--alms-tint); }
.alms-outline-module { margin: 14px 22px 6px; }
.alms-video { border-radius: 18px; box-shadow: 0 18px 40px rgba(15, 23, 42, .18); }
.alms-pager a { border-radius: 16px; transition: border-color .15s, transform .15s; }
.alms-pager a:hover { transform: translateY(-2px); }
.alms-files-box { border-radius: 18px; background: var(--alms-tint); border: 0; }
.alms-files-box a { border-radius: 12px; border: 0; box-shadow: 0 1px 3px rgba(15, 23, 42, .06); }
.alms-question { border-radius: 18px; border-width: 1.5px; }
.alms-option { border-radius: 12px; }
.alms-option:has(input:checked) { background: var(--alms-tint); }

/* Panel */
.alms-dash-nav { border: 0; border-radius: 24px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 40px rgba(15, 23, 42, .05); padding: 20px; }
.alms-dash-nav nav a { border-radius: 12px; padding: 11px 14px; transition: background-color .15s, color .15s; }
.alms-dash-nav nav a.is-active { background: var(--alms-grad); color: #fff; box-shadow: 0 8px 18px color-mix(in srgb, var(--alms-primary) 25%, transparent); }
.alms-dash-nav nav a.is-active .alms-icon { color: #fff; }
.alms-dash-user img { width: 44px; height: 44px; background: var(--alms-tint); }
.alms-dash-head h2 { font-weight: 800; letter-spacing: -.02em; font-size: 1.85rem; }
.alms-stat { border: 0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05); position: relative; overflow: hidden; padding: 20px; }
.alms-stat::after { content: ""; position: absolute; right: -24px; top: -24px; width: 80px; height: 80px; border-radius: 50%; background: var(--alms-tint); }
.alms-stat:nth-child(2n)::after { background: var(--alms-accent-tint); }
.alms-stat > * { position: relative; z-index: 1; }
.alms-resume { border: 0; border-radius: 24px; box-shadow: 0 18px 40px rgba(15, 23, 42, .08); }
.alms-table-wrap { border: 0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05); }
.alms-table th { background: #fff; }
.alms-table tbody tr { transition: background-color .15s; }
.alms-table tbody tr:hover { background: var(--alms-bg-alt); }
.alms-section-title { display: flex; align-items: center; gap: 10px; font-size: 1.15rem; margin: 6px 0 14px; }
.alms-count { display: inline-flex; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; align-items: center; justify-content: center; background: #fff7e6; color: #92400e; font-size: .82rem; }

/* Transferencia */
.alms-transfer { background: #fff; border-radius: 24px; padding: 28px; margin-bottom: 28px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 16px 40px rgba(15, 23, 42, .06); }
.alms-transfer-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; flex-wrap: wrap; margin-bottom: 20px; }
.alms-transfer-head h3 { margin: 4px 0 0; font-size: 1.3rem; }
.alms-transfer-amount { text-align: right; padding: 12px 18px; border-radius: 16px; background: var(--alms-tint); }
.alms-transfer-amount small { display: block; color: var(--alms-muted); font-weight: 600; font-size: .8rem; }
.alms-transfer-amount strong { display: block; font-size: 1.6rem; color: var(--alms-ink); letter-spacing: -.02em; line-height: 1.2; }
.alms-steps { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; counter-reset: none; }
.alms-steps li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--alms-bg-alt); font-size: .9rem; font-weight: 600; color: var(--alms-muted); line-height: 1.3; }
.alms-steps li span { flex: none; display: inline-flex; width: 28px; height: 28px; border-radius: 50%; align-items: center; justify-content: center; background: #fff; font-weight: 800; color: var(--alms-muted); box-shadow: 0 1px 3px rgba(15, 23, 42, .08); }
.alms-steps li.is-done { color: #047857; background: var(--alms-ok-bg); }
.alms-steps li.is-done span { background: var(--alms-ok); color: #fff; }
.alms-steps li.is-current { color: var(--alms-ink); background: var(--alms-tint); box-shadow: inset 0 0 0 1.5px var(--alms-primary); }
.alms-steps li.is-current span { background: var(--alms-primary); color: #fff; }
.alms-bank { margin: 0 0 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.alms-bank > div { padding: 14px 16px; border-radius: 16px; border: 1.5px solid var(--alms-border); min-width: 0; }
.alms-bank dt { font-size: .78rem; font-weight: 700; color: var(--alms-muted); text-transform: uppercase; letter-spacing: .05em; margin: 0 0 4px; }
.alms-bank dd { margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.alms-bank dd span { font-weight: 700; color: var(--alms-ink); font-size: 1.05rem; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.alms-bank .alms-bank-ref { border-color: var(--alms-primary); background: var(--alms-tint); }
.alms-copy { flex: none; border: 0; background: var(--alms-bg-alt); color: var(--alms-primary); font: inherit; font-size: .8rem; font-weight: 700; padding: 6px 12px; border-radius: 999px; cursor: pointer; transition: background-color .15s; }
.alms-copy:hover { background: var(--alms-tint-2); }
.alms-copy.is-copied { background: var(--alms-ok); color: #fff; }
.alms-transfer-note { padding: 14px 16px; border-radius: 14px; background: var(--alms-accent-tint); color: #7c3d00; font-size: .95rem; margin: 0 0 18px; }
.alms-upload { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.alms-drop { flex: 1 1 280px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 2px; padding: 18px; border: 2px dashed var(--alms-tint-2); border-radius: 18px; background: var(--alms-bg-alt); cursor: pointer; transition: border-color .15s, background-color .15s; }
.alms-drop:hover, .alms-drop.has-file { border-color: var(--alms-primary); background: var(--alms-tint); }
.alms-drop .alms-icon { width: 26px; height: 26px; color: var(--alms-primary); margin-bottom: 4px; }
.alms-drop strong { color: var(--alms-ink); }
.alms-drop small { color: var(--alms-muted); font-size: .82rem; }
.alms-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.alms-drop-name { font-style: normal; font-weight: 700; color: var(--alms-primary); font-size: .88rem; }
.alms-upload .alms-btn { align-self: center; }
.alms-review-list { display: grid; gap: 12px; margin-bottom: 28px; }
.alms-review { display: grid; grid-template-columns: minmax(0, 1.6fr) auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 18px; background: #fff; border-radius: 18px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05); border-left: 4px solid #f59e0b; }
.alms-review-main strong { display: block; color: var(--alms-ink); }
.alms-review-main span { font-size: .88rem; }
.alms-review-amount { font-weight: 800; color: var(--alms-ink); font-size: 1.1rem; }
.alms-review-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Adaptable: panel con menú deslizable, tablas como tarjetas */
@media (max-width: 960px) {
	.alms-dashboard { gap: 18px; }
	.alms-dash-nav { position: sticky; top: 76px; z-index: 20; padding: 12px; border-radius: 20px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); }
	.admin-bar .alms-dash-nav { top: 122px; }
	.alms-dash-nav .alms-brand-nav, .alms-dash-nav .alms-dash-user { display: none; }
	.alms-dash-nav nav { flex-wrap: nowrap; overflow-x: auto; gap: 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
	.alms-dash-nav nav::-webkit-scrollbar { display: none; }
	.alms-dash-nav nav a { flex: none; white-space: nowrap; padding: 9px 14px; scroll-snap-align: start; background: var(--alms-bg-alt); }
	.alms-review { grid-template-columns: 1fr auto; }
	.alms-review-file, .alms-review-actions { grid-column: 1 / -1; }
	.alms-lesson-main { padding: 26px 22px; }
	.alms-outline-toggle { width: 100%; justify-content: center; border-radius: 14px; padding: 12px; background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .06); border: 0; }
}
@media (max-width: 640px) {
	.alms-hero { padding: 32px 0 28px; }
	.alms-facts { gap: 8px; }
	.alms-facts li { padding: 5px 12px; font-size: .84rem; }
	.alms-layout { padding-top: 20px; gap: 24px; }
	.alms-card { border-radius: 20px; }
	.alms-stats, .alms-stats-6 { grid-template-columns: 1fr 1fr; gap: 10px; }
	.alms-stat { padding: 14px; }
	.alms-stat strong { font-size: 1.5rem; }
	.alms-dash-head h2 { font-size: 1.5rem; }
	.alms-lesson-main { padding: 20px 16px; border-radius: 18px; }
	.alms-video { border-radius: 12px; margin-left: -4px; margin-right: -4px; }
	.alms-lesson-actions { flex-direction: column; align-items: stretch; }
	.alms-lesson-actions .alms-btn, .alms-lesson-actions .alms-action-form, .alms-lesson-actions .alms-action-form .alms-btn { width: 100%; }
	.alms-transfer { padding: 20px 16px; border-radius: 20px; }
	.alms-transfer-amount { text-align: left; width: 100%; }
	.alms-steps { grid-template-columns: 1fr; gap: 6px; }
	.alms-bank { grid-template-columns: 1fr; }
	.alms-upload .alms-btn { width: 100%; }
	.alms-table-cards thead { display: none; }
	.alms-table-cards, .alms-table-cards tbody, .alms-table-cards tr, .alms-table-cards td { display: block; width: 100%; }
	.alms-table-cards tr { padding: 12px 16px; border-bottom: 1px solid var(--alms-border); }
	.alms-table-cards tr:last-child { border-bottom: 0; }
	.alms-table-cards td { border: 0; padding: 4px 0; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
	.alms-table-cards td[data-label]::before { content: attr(data-label); font-size: .78rem; font-weight: 700; color: var(--alms-muted); text-transform: uppercase; letter-spacing: .04em; text-align: left; }
	.alms-table-cards td:empty { display: none; }
	.alms-table-cards td { flex-wrap: wrap; align-items: baseline; }
	.alms-table-cards td[data-label]::before { margin-right: auto; }
	.alms-table-cards td small.alms-block { flex-basis: 100%; text-align: right; }
	.alms-table-wrap:has(.alms-table-cards) { overflow: visible; }
	.alms-auth-card { border-radius: 22px; box-shadow: 0 12px 30px rgba(15, 23, 42, .06); }
}

/* =========================================================================
   2.2 — Asistente de cursos
   ====================================================================== */
.alms-wz-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.alms-wz-head h2 { margin: 6px 0 4px; font-size: 1.85rem; font-weight: 800; letter-spacing: -.02em; }
.alms-wz-head p { margin: 0; }
.alms-wz-back { font-size: .9rem; }
.alms-wz-back .alms-icon { width: 16px; height: 16px; }
.alms-wz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; }
.alms-wz-steps button { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px; border: 0; background: none; font: inherit; color: var(--alms-muted); cursor: pointer; border-radius: 14px; transition: background-color .15s, color .15s; }
.alms-wz-steps button:hover { background: #fff; }
.alms-wz-num { display: inline-flex; width: 34px; height: 34px; border-radius: 50%; align-items: center; justify-content: center; background: #fff; font-weight: 800; font-size: .9rem; box-shadow: inset 0 0 0 1.5px var(--alms-border); transition: all .2s; }
.alms-wz-label { font-size: .78rem; font-weight: 700; line-height: 1.2; text-align: center; }
.alms-wz-steps .is-complete .alms-wz-num { background: var(--alms-ok-bg); color: var(--alms-ok); box-shadow: inset 0 0 0 1.5px #a7f3d0; }
.alms-wz-steps .is-current { color: var(--alms-ink); }
.alms-wz-steps .is-current .alms-wz-num { background: var(--alms-grad); color: #fff; box-shadow: 0 6px 14px color-mix(in srgb, var(--alms-primary) 30%, transparent); transform: scale(1.08); }
.alms-wz-bar { height: 6px; border-radius: 999px; background: var(--alms-tint); margin: 8px 0 24px; overflow: hidden; }
.alms-wz-bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--alms-primary), var(--alms-accent)); transition: width .35s ease; }
.alms-wz-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.alms-wz-main { background: #fff; border-radius: 24px; padding: 30px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 16px 40px rgba(15, 23, 42, .06); min-width: 0; }
.alms-wz-panel { animation: alms-wz-in .25s ease; }
.alms-wz-panel[hidden] { display: none; }
@keyframes alms-wz-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.alms-wz-intro { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 22px; }
.alms-wz-intro h3 { margin: 0 0 2px; font-size: 1.3rem; }
.alms-wz-intro p { margin: 0; color: var(--alms-muted); }
.alms-wz-intro-icon { flex: none; width: 48px; height: 48px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; background: var(--alms-tint); color: var(--alms-primary); }
.alms-wz-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 18px; position: relative; }
.alms-wz-field > span, .alms-wz-legend { font-weight: 700; color: var(--alms-ink); font-size: .94rem; }
.alms-wz-legend { display: block; margin: 0 0 8px; }
.alms-wz-field em, .alms-wz-legend em { color: var(--alms-accent); font-style: normal; }
.alms-wz-field small { color: var(--alms-muted); font-size: .82rem; }
.alms-wz input[type=text], .alms-wz input[type=url], .alms-wz input[type=number], .alms-wz input[type=date], .alms-wz select, .alms-wz textarea { width: 100%; padding: 12px 14px; border: 1.5px solid var(--alms-border); border-radius: 14px; font: inherit; color: var(--alms-ink); background: var(--alms-bg-alt); transition: border-color .15s, background-color .15s, box-shadow .15s; }
.alms-wz input:focus, .alms-wz select:focus, .alms-wz textarea:focus { outline: none; background: #fff; border-color: var(--alms-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--alms-primary) 14%, transparent); }
.alms-wz textarea { resize: vertical; line-height: 1.55; }
.alms-wz .is-invalid { border-color: var(--alms-error) !important; background: var(--alms-error-bg) !important; }
.alms-wz-count { position: absolute; right: 0; top: 0; }
.alms-wz-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.alms-wz-span2 { grid-column: span 2; }
.alms-wz-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.alms-wz-pill input, .alms-wz-card input { position: absolute; opacity: 0; pointer-events: none; }
.alms-wz-pill span { display: inline-block; padding: 9px 16px; border-radius: 999px; background: var(--alms-bg-alt); font-weight: 600; font-size: .92rem; cursor: pointer; box-shadow: inset 0 0 0 1.5px var(--alms-border); transition: all .15s; }
.alms-wz-pill input:checked + span { background: var(--alms-tint); color: var(--alms-primary); box-shadow: inset 0 0 0 1.5px var(--alms-primary); }
.alms-wz-pill input:focus-visible + span { outline: 3px solid var(--alms-accent); }
.alms-wz-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.alms-wz-cards-2 { grid-template-columns: 1fr 1fr; }
.alms-wz-card { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 18px; background: var(--alms-bg-alt); cursor: pointer; box-shadow: inset 0 0 0 1.5px var(--alms-border); transition: all .15s; }
.alms-wz-card:hover { box-shadow: inset 0 0 0 1.5px var(--alms-tint-2); }
.alms-wz-card:has(input:checked) { background: var(--alms-tint); box-shadow: inset 0 0 0 2px var(--alms-primary); }
.alms-wz-card:has(input:checked)::after { content: "✓"; position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; border-radius: 50%; background: var(--alms-primary); color: #fff; font-size: .75rem; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.alms-wz-card-icon { width: 38px; height: 38px; border-radius: 12px; background: #fff; color: var(--alms-primary); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 6px; box-shadow: 0 1px 3px rgba(15, 23, 42, .08); }
.alms-wz-card strong { color: var(--alms-ink); }
.alms-wz-card small { color: var(--alms-muted); font-size: .82rem; line-height: 1.4; }
.alms-wz-cover { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; border-radius: 20px; border: 2px dashed var(--alms-tint-2); background: var(--alms-bg-alt); overflow: hidden; cursor: pointer; margin-bottom: 14px; transition: border-color .15s, background-color .15s; }
.alms-wz-cover:hover, .alms-wz-cover.is-drag { border-color: var(--alms-primary); background: var(--alms-tint); }
.alms-wz-cover input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.alms-wz-cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.alms-wz-cover-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; padding: 20px; }
.alms-wz-cover-empty .alms-icon { width: 34px; height: 34px; color: var(--alms-primary); margin-bottom: 6px; }
.alms-wz-cover-empty strong { color: var(--alms-ink); }
.alms-wz-cover-empty small { color: var(--alms-muted); }
.alms-wz-cover.has-image { border-style: solid; border-color: transparent; }
.alms-wz-cover.has-image .alms-wz-cover-empty { display: none; }
.alms-wz-cover-change { display: none; position: absolute; bottom: 14px; right: 14px; padding: 8px 14px; border-radius: 999px; background: rgba(15, 23, 42, .75); color: #fff; font-weight: 700; font-size: .85rem; backdrop-filter: blur(6px); }
.alms-wz-cover.has-image .alms-wz-cover-change { display: inline-block; }
.alms-wz-list { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
.alms-wz-list li { display: flex; gap: 8px; align-items: center; }
.alms-wz-bullet { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--alms-ok-bg); color: var(--alms-ok); display: inline-flex; align-items: center; justify-content: center; }
.alms-wz-bullet .alms-icon { width: 15px; height: 15px; }
.alms-wz-icon { flex: none; width: 34px; height: 34px; border: 0; border-radius: 10px; background: transparent; color: var(--alms-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .15s, color .15s; }
.alms-wz-icon .alms-icon { width: 17px; height: 17px; }
.alms-wz-icon:hover, .alms-wz-icon.is-on { background: var(--alms-tint); color: var(--alms-primary); }
.alms-wz-icon.is-danger:hover { background: var(--alms-error-bg); color: var(--alms-error); }
.alms-wz-add { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1.5px dashed var(--alms-tint-2); border-radius: 12px; background: none; color: var(--alms-primary); font: inherit; font-weight: 700; font-size: .9rem; cursor: pointer; text-decoration: none; transition: all .15s; }
.alms-wz-add:hover { border-color: var(--alms-primary); background: var(--alms-tint); }
.alms-wz-add .alms-icon { width: 16px; height: 16px; }
.alms-wz-add-quiz { color: #a35f00; border-color: #fde3b5; margin-left: 6px; }
.alms-wz-tip { padding: 12px 14px; border-radius: 14px; background: var(--alms-accent-tint); font-size: .9rem; margin: 14px 0 0; }
.alms-wz-modules { display: grid; gap: 14px; margin-bottom: 14px; }
.alms-wz-module { padding: 16px; border-radius: 20px; background: var(--alms-bg-alt); }
.alms-wz-module-head { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
.alms-wz-module-n { flex: none; width: 34px; height: 34px; border-radius: 12px; background: var(--alms-grad); color: #fff; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.alms-wz .alms-wz-module-name { font-weight: 700; background: #fff; }
.alms-wz-lessons { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.alms-wz-lesson { background: #fff; border-radius: 14px; padding: 6px 6px 6px 10px; box-shadow: 0 1px 2px rgba(15, 23, 42, .05); transition: box-shadow .3s; }
.alms-wz-lesson.is-moved { box-shadow: 0 0 0 2px var(--alms-primary); }
.alms-wz-lesson-row { display: flex; align-items: center; gap: 8px; }
.alms-wz-handle { flex: none; color: var(--alms-primary); display: inline-flex; }
.alms-wz-handle .alms-icon { width: 18px; height: 18px; }
.alms-wz-lesson.is-quiz .alms-wz-handle { color: #a35f00; }
.alms-wz .alms-wz-lesson-title { border: 0; background: transparent; padding: 8px; border-radius: 10px; box-shadow: none; }
.alms-wz .alms-wz-lesson-title:focus { background: var(--alms-bg-alt); box-shadow: none; }
.alms-wz-lesson-tools { display: flex; gap: 2px; }
.alms-wz-lesson-more { padding: 12px 6px 4px 30px; }
.alms-wz-lesson-more .alms-wz-grid { grid-template-columns: 2fr 1fr; }
.alms-wz-lesson-more .alms-wz-span2 { grid-column: auto; }
.alms-wz-lesson-note { margin: 2px 0 6px 30px; font-size: .84rem; color: var(--alms-muted); }
.alms-wz-switches { display: grid; gap: 10px; }
.alms-switch { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 16px; background: var(--alms-bg-alt); cursor: pointer; }
.alms-switch input { position: absolute; opacity: 0; }
.alms-switch-ui { flex: none; width: 46px; height: 26px; border-radius: 999px; background: #cbd5e1; position: relative; transition: background-color .2s; }
.alms-switch-ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .2s; }
.alms-switch input:checked + .alms-switch-ui { background: var(--alms-primary); }
.alms-switch input:checked + .alms-switch-ui::after { transform: translateX(20px); }
.alms-switch input:focus-visible + .alms-switch-ui { outline: 3px solid var(--alms-accent); outline-offset: 2px; }
.alms-switch strong { display: block; color: var(--alms-ink); }
.alms-switch small { color: var(--alms-muted); font-size: .84rem; }
.alms-wz-warn { color: #92400e !important; }
.alms-wz-check { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.alms-wz-check li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: #fff7e6; color: #92400e; font-weight: 600; cursor: pointer; transition: transform .15s; }
.alms-wz-check li:hover { transform: translateX(3px); }
.alms-wz-check li::before { content: "!"; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #f59e0b; color: #fff; font-weight: 800; font-size: .8rem; display: inline-flex; align-items: center; justify-content: center; }
.alms-wz-check li[data-optional]:not(.is-ok) { background: var(--alms-bg-alt); color: var(--alms-muted); }
.alms-wz-check li[data-optional]:not(.is-ok)::before { content: "–"; background: #cbd5e1; }
.alms-wz-check li.is-ok { background: var(--alms-ok-bg); color: #047857; }
.alms-wz-check li.is-ok::before { content: "✓"; background: var(--alms-ok); }
.alms-wz-publish { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.alms-wz-nav { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--alms-border); }
.alms-wz-nav .alms-wz-save { margin-left: auto; }
.alms-btn.is-loading { opacity: .6; pointer-events: none; }
.alms-wz-side { position: sticky; top: 96px; display: grid; gap: 14px; }
.alms-wz-side-label { margin: 0; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--alms-muted); }
.alms-wz-preview { background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 18px 40px rgba(15, 23, 42, .08); }
.alms-wz-preview-media { aspect-ratio: 16 / 9; margin: 8px 8px 0; border-radius: 16px; overflow: hidden; background: var(--alms-bg-alt); }
.alms-wz-preview-media img { width: 100%; height: 100%; object-fit: cover; }
.alms-wz-preview-media .alms-media-placeholder[hidden] { display: none; }
.alms-wz-preview-body { padding: 14px 18px 18px; }
.alms-wz-preview-cat:not(:empty) { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--alms-accent-tint); color: color-mix(in srgb, var(--alms-accent) 70%, #000); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px; }
.alms-wz-preview h4 { margin: 0 0 4px; font-size: 1.05rem; color: var(--alms-ink); line-height: 1.3; overflow-wrap: anywhere; }
.alms-wz-preview p { margin: 0 0 10px; color: var(--alms-muted); font-size: .88rem; line-height: 1.45; overflow-wrap: anywhere; }
.alms-wz-preview .is-empty { opacity: .45; }
.alms-wz-preview-facts { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.alms-wz-preview-facts li { font-size: .76rem; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--alms-bg-alt); color: var(--alms-text); }
.alms-wz-preview-price { display: block; padding-top: 10px; border-top: 1px dashed var(--alms-border); color: var(--alms-primary); }
.alms-wz-meter { background: #fff; border-radius: 18px; padding: 14px 16px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05); }
.alms-wz-meter-head { display: flex; justify-content: space-between; font-size: .88rem; margin-bottom: 8px; }
.alms-wz-meter-head strong { color: var(--alms-ink); }
.alms-wz-done { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 20px; background: var(--alms-ok-bg); margin-bottom: 18px; flex-wrap: wrap; }
.alms-wz-done > div { flex: 1; min-width: 200px; }
.alms-wz-done strong { color: #065f46; font-size: 1.05rem; }
.alms-wz-done p { margin: 2px 0 0; }
.alms-wz-done-icon { width: 46px; height: 46px; border-radius: 50%; background: var(--alms-ok); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 1100px) {
	.alms-wz-layout { grid-template-columns: 1fr; }
	.alms-wz-side { position: static; grid-template-columns: 1fr 1fr; align-items: start; }
	.alms-wz-side-label { grid-column: 1 / -1; }
	.alms-wz-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
	.alms-wz-steps { display: flex; overflow-x: auto; scrollbar-width: none; gap: 4px; margin: 0 -4px; padding: 2px 4px; }
	.alms-wz-steps::-webkit-scrollbar { display: none; }
	.alms-wz-steps li { flex: none; }
	.alms-wz-steps button { flex-direction: row; padding: 8px 12px 8px 8px; background: #fff; border-radius: 999px; }
	.alms-wz-steps button .alms-wz-label { display: none; }
	.alms-wz-steps .is-current .alms-wz-label { display: inline; }
	.alms-wz-num { width: 28px; height: 28px; font-size: .8rem; }
	.alms-wz-main { padding: 20px 16px; border-radius: 20px; }
	.alms-wz-grid, .alms-wz-lesson-more .alms-wz-grid, .alms-wz-check { grid-template-columns: 1fr; }
	.alms-wz-span2 { grid-column: auto; }
	.alms-wz-side { grid-template-columns: 1fr; }
	.alms-wz-head h2 { font-size: 1.45rem; }
	.alms-wz-nav { position: sticky; bottom: 0; background: #fff; margin: 20px -16px -20px; padding: 12px 16px; border-radius: 0 0 20px 20px; box-shadow: 0 -8px 20px rgba(15, 23, 42, .06); z-index: 5; }
	.alms-wz-nav { gap: 6px; }
	.alms-wz-nav .alms-btn { flex: 1 1 0; min-width: 0; padding: 11px 8px; font-size: .9rem; gap: 4px; }
	.alms-wz-nav .alms-btn .alms-icon { width: 16px; height: 16px; }
	.alms-wz-nav .alms-wz-save { margin-left: 0; }
	.alms-wz-lesson-row { flex-wrap: wrap; }
	.alms-wz .alms-wz-lesson-title { flex: 1 1 calc(100% - 30px); }
	.alms-wz-lesson-tools { margin-left: auto; }
	.alms-wz-lesson-more { padding-left: 4px; }
	.alms-wz-add-quiz { margin: 6px 0 0; }
}
@media (max-width: 420px) {
	.alms-wz-cards { grid-template-columns: 1fr; }
	.alms-wz-intro-icon { width: 40px; height: 40px; border-radius: 12px; }
}

/* Página del curso: datos nuevos */
.alms-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0 0 32px; padding: 0; list-style: none; }
.alms-info-grid li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .05); }
.alms-info-grid .alms-icon { flex: none; width: 36px; height: 36px; padding: 8px; border-radius: 12px; background: var(--alms-tint); color: var(--alms-primary); }
.alms-info-grid li:nth-child(2n) .alms-icon { background: var(--alms-accent-tint); color: color-mix(in srgb, var(--alms-accent) 80%, #000); }
.alms-info-grid small { display: block; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--alms-muted); }
.alms-info-grid strong { display: block; color: var(--alms-ink); line-height: 1.35; font-size: .95rem; }
.alms-objective { padding: 22px 24px; border-radius: 22px; background: var(--alms-grad); color: #fff; margin-bottom: 32px; box-shadow: 0 18px 40px color-mix(in srgb, var(--alms-primary) 25%, transparent); }
.alms-objective h2 { color: #fff !important; font-size: 1.1rem; margin: 0 0 6px; display: flex; align-items: center; gap: 8px; }
.alms-objective p { margin: 0; font-size: 1.05rem; line-height: 1.6; opacity: .95; }
.alms-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 32px; }
.alms-two .alms-box { margin: 0; }
.alms-two h2 { font-size: 1.1rem !important; }
.alms-req { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.alms-req li { display: flex; gap: 10px; align-items: flex-start; }
.alms-req .alms-icon { flex: none; width: 18px; height: 18px; color: var(--alms-accent); margin-top: 3px; }
.alms-intro-video { margin-bottom: 32px; }
.alms-seats { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 12px; background: #fff7e6; color: #92400e; font-weight: 700; font-size: .9rem; margin: 0 0 12px; }
.alms-seats.is-full { background: var(--alms-error-bg); color: var(--alms-error); }
@media (max-width: 640px) { .alms-two { grid-template-columns: 1fr; } .alms-info-grid { grid-template-columns: 1fr 1fr; } .alms-info-grid li { padding: 12px; } }

.alms-wz [hidden] { display: none !important; }
.alms-video-link { margin: 0 0 26px; }

/* ---------- 2.3 Animaciones ---------- */
@media (prefers-reduced-motion: no-preference) {
	.alms-anim .alms-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms), transform .7s cubic-bezier(.2,.8,.2,1) var(--reveal-delay, 0ms); }
	.alms-anim .alms-reveal.is-in { opacity: 1; transform: none; }
	.alms-anim .alms-grow { transform-origin: left center; transform: scaleX(0); transition: transform 1.2s cubic-bezier(.2,.8,.2,1) .2s; }
	.alms-anim .alms-grow.is-in { transform: scaleX(1); }
	.alms-btn { position: relative; overflow: hidden; }
	.alms-btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s ease; pointer-events: none; }
	.alms-btn:hover::after { transform: translateX(120%); }
	.alms-btn:hover { transform: translateY(-2px); }
	.alms-btn:active { transform: translateY(0) scale(.98); }
	.alms-course-card { transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; }
	.alms-course-card:hover { transform: translateY(-6px); }
	.alms-course-card img { transition: transform .7s cubic-bezier(.2,.8,.2,1); }
	.alms-course-card:hover img { transform: scale(1.06); }
	.alms-dash-nav a svg, .alms-chips a { transition: transform .2s, background .2s, color .2s; }
	.alms-dash-nav a:hover svg { transform: scale(1.15) rotate(-6deg); }
	.alms-seats { animation: alms-pulse 2.4s ease-in-out infinite; }
	.alms-wz-panel { animation: alms-wz-in .45s cubic-bezier(.2,.8,.2,1) both; }
}
@keyframes alms-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(252,143,12,.35); } 50% { box-shadow: 0 0 0 8px rgba(252,143,12,0); } }
