/* Una página de aprendizaje limpia, dentro de la identidad del portafolio. */
.pagina-micro-cursos { --mc-suave: #A0A0AA; --mc-linea: #2A2A30; --mc-fondo: #101014; }
.pagina-micro-cursos .nav { background: #0A0A0C; border-bottom-color: var(--mc-linea); }
.mc-kicker { margin: 0 0 16px; font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--acento); }
.mc-kicker span { padding-inline: 8px; color: #62626C; }
.mc-cabecera { padding-top: 64px; padding-bottom: 40px; }
.mc-cabecera h1 { margin: 0 0 22px; font-family: var(--display); font-size: clamp(2.8rem, 7vw, 5.5rem); letter-spacing: -.065em; line-height: 1.08; }
.mc-cabecera h1 span { color: var(--acento); }
.mc-cabecera > p:last-child { color: var(--mc-suave); max-width: 630px; margin: 0; font-size: 1.14rem; }
.mc-catalogo { display: grid; gap: 24px; padding-bottom: 88px; }
.mc-tarjeta { display: grid; grid-template-columns: 1.12fr 1fr; border: 1px solid var(--mc-linea); border-radius: 24px; overflow: hidden; background: var(--mc-fondo); }
.mc-tarjeta__imagen { display: flex; align-items: center; min-width: 0; background: #082447; }
.mc-tarjeta__imagen img { width: 100%; height: auto; max-height: 620px; object-fit: contain; }
.mc-tarjeta__texto { padding: clamp(24px, 4vw, 44px); }
.mc-tarjeta h2 { margin: 0 0 20px; font: 700 clamp(1.6rem, 3vw, 2.4rem)/1.2 var(--display); letter-spacing: -.055em; }
.mc-tarjeta h2 a { text-decoration: none; color: var(--texto); }
.mc-tarjeta h2 a:hover { color: #D8D8E1; }
.mc-tarjeta__texto > p:not(.mc-kicker) { color: var(--mc-suave); }
.mc-tarjeta .boton { margin-top: 2px; }
.mc-datos { display: flex; flex-wrap: wrap; list-style: none; gap: 8px 16px; padding: 0; margin: 25px 0 0; font-size: .8rem; color: #CBCBD3; }
.mc-datos li:not(:last-child)::after { content: '·'; margin-left: 16px; color: #5E5E67; }
.mc-disponibilidad { font-size: .79rem; margin: 12px 0 26px; }
.mc-pagina { padding-top: 28px; padding-bottom: 80px; }
.mc-migas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: #797985; font-size: .8rem; margin-bottom: 30px; }
.mc-migas a { color: #B3B3BD; text-decoration: none; }
.mc-migas a:hover { color: var(--texto); }
.mc-presentacion { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, 1fr); align-items: start; gap: clamp(30px, 5vw, 72px); }
.mc-principal { min-width: 0; }
.mc-portada { overflow: hidden; border-radius: 22px; background: #0D1222; margin: 0; border: 1px solid #252936; }
.mc-portada img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; max-height: 620px; display: block; }
.mc-autor { display: flex; gap: 13px; align-items: center; margin: -20px 22px 34px; position: relative; text-decoration: none; color: #888892; font-size: .75rem; }
.mc-autor img { width: 60px; height: 60px; border-radius: 16px; border: 4px solid #0A0A0C; background: #18181C; object-fit: cover; object-position: 50% 22%; }
.mc-autor > span { padding-top: 22px; }
.mc-autor strong { display: block; color: var(--texto); font-size: .9rem; font-weight: 600; }
.mc-autor .mc-autor__perfil { margin-left: auto; color: #B8B8C2; }
.mc-principal h1 { font: 700 clamp(2.25rem, 4.5vw, 3.55rem)/1.14 var(--display); letter-spacing: -.065em; margin: 0 0 25px; max-width: 790px; }
.mc-intro { color: #B6B6C1; font-size: 1.12rem; line-height: 1.8; }
.mc-perspectiva { color: #8A8A96; margin-top: 25px; line-height: 1.85; font-size: .95rem; }
.mc-ficha { padding-top: 15px; }
.mc-ficha h2 { font: 600 clamp(1.65rem, 3vw, 2.5rem)/1.22 var(--display); letter-spacing: -.04em; margin: 0 0 27px; }
.mc-cifras { display: grid; grid-template-columns: .85fr 1.15fr; border: 1px solid var(--mc-linea); border-radius: 12px; margin: 0 0 25px; }
.mc-cifras div { padding: 14px 15px; }
.mc-cifras div + div { border-left: 1px solid var(--mc-linea); }
.mc-cifras dt { font-size: .66rem; color: #8D8D99; }
.mc-cifras dd { margin: 4px 0 0; font-size: .9rem; color: #E4E4EC; }
.mc-caracteristicas { margin: 0 0 27px; }
.mc-caracteristicas div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 15px; font-size: .82rem; margin: 14px 0; }
.mc-caracteristicas dt { color: #92929E; }
.mc-caracteristicas dd { margin: 0; color: #D2D2DC; }
.mc-boton { width: 100%; background: #ECECF0; color: #101014; border-color: #ECECF0; justify-content: space-between; font-size: .9rem; border-radius: 12px; }
.mc-boton:hover { background: #D8D8E1; color: #101014; }
.mc-ficha__nota { padding-top: 23px; margin-top: 25px; border-top: 1px solid var(--mc-linea); }
.mc-ficha__nota h3 { margin: 0 0 10px; font-size: .73rem; font-weight: 600; color: #92929E; }
.mc-ficha__nota p { margin: 0; font-size: .81rem; line-height: 1.85; color: #C3C3CD; }
.mc-resultados { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; border-top: 1px solid var(--mc-linea); border-bottom: 1px solid var(--mc-linea); padding-block: 45px; margin-top: 65px; }
.mc-resultados h2, .mc-temario h2 { font: 700 clamp(1.8rem, 3.5vw, 2.65rem)/1.2 var(--display); margin: 0; letter-spacing: -.05em; }
.mc-resultados ul { padding: 0; margin: 0; list-style: none; }
.mc-resultados li { position: relative; padding-left: 26px; margin-bottom: 14px; color: #B4B4C0; font-size: .9rem; }
.mc-resultados li::before { content: '↳'; position: absolute; left: 0; color: var(--acento); }
.mc-temario { padding-top: 60px; scroll-margin-top: 110px; }
.mc-temario__cabecera { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 27px; }
.mc-temario__cabecera > p { color: #888894; font-size: .82rem; margin: 0 0 6px; }
.mc-aviso { color: #9A9AA7; font-size: .9rem; margin-bottom: 28px; max-width: 740px; }
.mc-modulo { background: #101014; border: 1px solid var(--mc-linea); border-radius: 15px; margin: 16px 0; overflow: hidden; }
.mc-modulo summary { cursor: pointer; list-style: none; display: flex; gap: 19px; align-items: center; padding: 24px; }
.mc-modulo summary::-webkit-details-marker { display: none; }
.mc-modulo summary:hover { background: #15151A; }
.mc-modulo__numero { color: var(--acento); font-size: .85rem; min-width: 27px; }
.mc-modulo h3 { margin: 0; font: 600 clamp(1rem, 2.2vw, 1.3rem)/1.45 var(--display); letter-spacing: -.04em; }
.mc-modulo__cuenta { font-size: .75rem; color: #81818E; display: block; margin-top: 5px; }
.mc-modulo__abrir { margin-left: auto; font-size: 1.6rem; color: #8E8E9B; font-weight: 400; }
.mc-modulo[open] .mc-modulo__abrir { transform: rotate(45deg); }
.mc-modulo__contenido { border-top: 1px solid var(--mc-linea); }
.mc-modulo__contenido > p { margin: 22px 24px; max-width: 760px; font-size: .9rem; color: #9393A0; }
.mc-modulo ol { padding: 0; margin: 0; list-style: none; }
.mc-modulo li + li { border-top: 1px solid #222228; }
.mc-modulo li a { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto 18px; align-items: center; gap: 16px; padding: 18px 24px; text-decoration: none; color: #D0D0DA; font-size: .88rem; }
.mc-modulo li a:hover { background: #17171D; }
.mc-leccion__numero { color: #71717D; font-size: .8rem; }
.mc-leccion__estado { color: #81818E; font-size: .72rem; }
.mc-lectura-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(35px, 5vw, 80px); padding-top: 30px; }
.mc-lectura { min-width: 0; }
.mc-lectura h1 { font: 700 clamp(2rem, 4.5vw, 3.4rem)/1.18 var(--display); letter-spacing: -.055em; margin: 0 0 24px; }
.mc-lectura__cuerpo { color: #B7B7C2; line-height: 1.85; font-size: calc(1.075rem * var(--escala-lectura, 1)); overflow-wrap: anywhere; }
.mc-lectura__cuerpo > * + * { margin-top: 1.25em; }
.mc-lectura__cuerpo h2, .mc-lectura__cuerpo h3 { color: var(--texto); }
.mc-lectura__cuerpo h2 { font: 700 1.45em/1.35 var(--display); letter-spacing: -.035em; margin-bottom: .8em; }
.mc-lectura__cuerpo h3 { font: 600 1.2em/1.4 var(--display); }
.mc-lectura__cuerpo strong { color: #ECECF2; }
.mc-lectura__cuerpo li + li { margin-top: .7em; }
.mc-lectura__cuerpo code { font-size: .88em; color: #D1E4F6; }
.mc-lectura__cuerpo pre { font-size: .88em; overflow-wrap: normal; }
.mc-herramientas.contenedor { width: 100%; max-width: none; margin-inline: 0; }
.mc-herramientas { margin-top: 28px; flex-wrap: wrap; }
.mc-tabla { max-width: 100%; overflow-x: auto; border: 1px solid var(--mc-linea); border-radius: 12px; }
.mc-tabla table { width: 100%; min-width: 500px; border-collapse: collapse; font-size: .9em; }
.mc-tabla th, .mc-tabla td { padding: 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--mc-linea); }
.mc-tabla th { background: #17171D; color: #ECECF2; }
.mc-tabla tr:last-child td { border-bottom: 0; }
.mc-practica { padding: clamp(20px, 3vw, 28px); background: #111118; border: 1px solid var(--mc-linea); border-radius: 18px; }
.mc-practica h2 { margin-top: 0; }
.mc-solucion { border-top: 1px solid #33333D; margin-top: 22px; padding-top: 18px; }
.mc-solucion summary { cursor: pointer; font-weight: 600; color: #CFDDEC; }
.mc-solucion > p { margin-bottom: 0; }
.mc-idea { border-left: 3px solid var(--acento); padding: 4px 0 4px 22px; }
.mc-idea p { margin: 0; }
.mc-lectura__cuerpo pre { overflow: auto; padding: 20px; border-radius: 12px; background: #16161B; }
.mc-lectura__cuerpo img { max-width: 100%; height: auto; max-height: 700px; }
.mc-lectura__cuerpo a { color: #82B6DD; }
.mc-pendiente { margin-top: 40px; padding: 28px; border: 1px solid var(--mc-linea); border-radius: 16px; }
.mc-pendiente__icono { color: var(--acento); font-size: 1.5rem; }
.mc-pendiente h2 { font: 600 1.3rem/1.45 var(--display); margin: 10px 0; }
.mc-pendiente p { color: #92929E; font-size: .92rem; }
.mc-pendiente .boton { margin-top: 10px; font-size: .88rem; }
.mc-indice { border: 1px solid var(--mc-linea); border-radius: 16px; padding: 25px; align-self: start; }
.mc-indice h2 { margin: 0 0 20px; font-family: var(--display); font-size: 1.2rem; }
.mc-indice details { border-top: 1px solid var(--mc-linea); padding-top: 16px; margin-top: 16px; }
.mc-indice summary { font-size: .83rem; cursor: pointer; color: #B7B7C2; }
.mc-indice ol { list-style: none; padding: 0; margin: 16px 0 0; }
.mc-indice li { margin: 12px 0; }
.mc-indice a { color: #868694; text-decoration: none; font-size: .78rem; display: block; }
.mc-indice a[aria-current="page"] { color: #F2F2F6; border-left: 2px solid var(--acento); padding-left: 12px; }
.mc-indice a:hover { color: #F2F2F6; }
.mc-siguiente { display: grid; gap: 16px; margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--mc-linea); }
.mc-siguiente__progreso { margin: 0; font-size: .8rem; color: var(--mc-suave); }
.mc-siguiente__principal { display: grid; gap: 12px; padding: clamp(22px, 3vw, 30px); border-radius: 18px; background: var(--acento); color: #160B06; text-decoration: none; border: 2px solid transparent; }
.mc-siguiente__principal:hover { background: #E84A12; }
.mc-siguiente__accion { display: flex; align-items: center; justify-content: space-between; gap: 18px; font: 700 clamp(1.3rem, 2.5vw, 1.65rem)/1.3 var(--display); }
.mc-siguiente__accion > span { font-size: 1.7rem; }
.mc-siguiente__titulo { font-size: .92rem; line-height: 1.55; }
.mc-siguiente__anterior { justify-self: start; padding: 10px 0; font-size: .85rem; color: #B5B5C0; text-decoration: none; }
.mc-siguiente__anterior:hover { color: var(--texto); }
.mc-vacio { padding-top: 80px; padding-bottom: 80px; }
.pagina-micro-cursos :focus-visible { outline: 2px solid #E9C46A; outline-offset: 5px; }
@media (max-width: 1000px) { .mc-presentacion { grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr); gap: 30px; } }
@media (max-width: 800px) {
  .mc-presentacion, .mc-lectura-grid, .mc-tarjeta { grid-template-columns: 1fr; }
  .mc-ficha { padding-top: 20px; max-width: none; }
  .mc-ficha h2 br { display: none; }
  .mc-tarjeta__imagen img { aspect-ratio: 16 / 9; height: auto; }
  .mc-resultados { grid-template-columns: 1fr; gap: 24px; margin-top: 40px; }
  .mc-lectura-grid { gap: 40px; }
}
@media (max-width: 500px) {
  .mc-herramientas .herramienta__etiqueta { display: inline; }
  .mc-herramientas .herramienta--texto { width: auto; padding: 0 10px; }
  .mc-herramientas .herramientas__grupo { flex-basis: 100%; justify-content: center; }
  .mc-herramientas .herramienta--texto { flex: 1; }
  .mc-cabecera { padding-top: 40px; }
  .mc-pagina { padding-top: 20px; }
  .mc-autor { margin-left: 10px; margin-right: 10px; gap: 8px; }
  .mc-autor .mc-autor__perfil { font-size: .7rem; }
  .mc-temario__cabecera { flex-direction: column; align-items: start; }
  .mc-modulo summary { padding: 20px 16px; gap: 12px; }
  .mc-modulo__contenido > p { margin-inline: 16px; }
  .mc-modulo li a { grid-template-columns: 28px minmax(0, 1fr) 14px; gap: 12px; padding: 16px; }
  .mc-leccion__estado { grid-column: 2; grid-row: 2; font-size: .69rem; }
  .mc-modulo li a > span:last-child { grid-column: 3; grid-row: 1 / 3; }
  .mc-pendiente { padding: 20px; }
}
