.curso-card {
    border-radius: 4px;
    border: 1px solid #ddd;
    transition: all 0.3s ease;
    margin-bottom: 20px;
    height: 420px; /*  */
    display: flex;
    flex-direction: column;
    background: #fff;
}

.curso-card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-color: #0fb253;
}

.curso-imagen-container {
    /*height: 150px;*/
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    border-bottom: 1px solid #eee;
}

.curso-imagen-container img {
    /*max-height: 100%;*/
    width: auto;
    max-width: 100%;
    transition: transform 0.3s ease;
}

.curso-card:hover .curso-imagen-container img {
    transform: scale(1.05);
}

.curso-titulo {
    color: #337ab7;
    font-size: 16px;
    font-weight: bold;
    margin: 10px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
	text-align: center;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.curso-detalles {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
    flex-grow: 1;
}

.curso-detalles p {
    margin-bottom: 5px;
}

.curso-precio {
    text-align: center;
    margin: 15px 0;
    padding: 10px 0;
    background-color: #f9f9f9;
    border-radius: 4px;
}

.precio {
    font-size: 20px;
    font-weight: bold;
    color: #2a6496;
}

/* Estilos base del botón */
.btn-inscribirse {
    background-color: #0fb253;
    color: #fff;
    border-color: #0da04b;
    text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 1px 1px rgba(0,0,0,0.075);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 1px 1px rgba(0,0,0,0.075);
    transition: all 0.3s ease;
}

/* Estado hover (cuando el mouse pasa por encima) */
.btn-inscribirse:hover,
.btn-inscribirse:focus {
    background-color: #0da04b;
    border-color: #0b8e43;
    color: #fff;
}

/* Estado active (cuando se hace click) */
.btn-inscribirse:active,
.btn-inscribirse.active {
    background-color: #0b8e43;
    border-color: #097c3b;
    color: #fff;
    -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
}

/* Estado focus (después de hacer click) */
.btn-inscribirse:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

/* Estado disabled */
.btn-inscribirse.disabled,
.btn-inscribirse[disabled],
fieldset[disabled] .btn-inscribirse {
    background-color: #0fb253;
    border-color: #0da04b;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.sidebar-fixed {
  position: -webkit-sticky;
  position: sticky;
  top: 20px;
  height: calc(100vh - 40px);
  overflow-y: auto;
  z-index: 1000;
}

.panel-temas {
	margin-bottom: 20px;
}
.list-group-item-tema {
	cursor: pointer;
	transition: all 0.3s;
}
.list-group-item-tema:hover {
	background-color: #f5f5f5;
}
.list-group-item-tema.active {
	background-color: #0fb253;
	color: white;
	border-color: #0da04b;
}
.curso-card {
	transition: all 0.3s;
}

/* Estilos para el panel de filtros */
.panel-group .panel {
  margin-bottom: 10px;
  border-radius: 4px;
}

.panel-default > .panel-heading {
  background-color: #f5f5f5;
  padding: 8px 15px;
}

.panel-title a {
  display: block;
  color: #333;
  text-decoration: none;
}

.panel-title a:hover {
  color: #23527c;
}

.nav-pills > li > a {
  padding: 8px 15px;
  border-radius: 4px;
}

.nav-pills > li.active > a, 
.nav-pills > li.active > a:hover, 
.nav-pills > li.active > a:focus {
  background-color: #0fb253;
}

#sin-resultados {
    margin-top: 20px;
    animation: fadeIn 0.3s;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.reset-filtros {
    margin-top: 10px;
}


/* Responsividad */
@media (max-width: 767px) {
	.sidebar-fixed {
		position: static;
		height: auto;
		margin-bottom: 20px;
	}
  
	.main-content {
		padding-left: 15px;
	}
	
    .curso-card {
        height: auto;
        min-height: 420px;
    }
    
    .curso-titulo {
        height: auto;
        -webkit-line-clamp: 3;
    }
	
	.col-sm-4, .col-sm-8 {
		width: 100%;
	}

	  .panel-group {
		margin-bottom: 15px;
	}
}

/* Mejora para Bootstrap 3 */
.thumbnail {
    padding: 0;
    margin-bottom: 20px;
}

.caption {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
	align-items: center;
}