/* Tarjetas de cursos. Personalización independiente del núcleo de Canvas. */
.cursos-listado .cursos-tarjeta { border: 1px solid #e3e6e9; border-radius: .625rem; overflow: hidden; background: #fff; }
.cursos-tarjeta-imagen { display: block; position: relative; background: #f5f6f7; }
.cursos-tarjeta-imagen img { display: block; width: 100%; height: auto; }
.cursos-tarjeta-imagen .entry-date { position: absolute; z-index: 2; top: .75rem; left: .75rem; min-width: 60px; max-width: calc(100% - 1.5rem); padding: .5rem .625rem; margin: 0; border-radius: .375rem; background: rgba(0,0,0,.72); color: #fff; font-size: 1.75rem; line-height: 1.1; font-weight: 400; text-align: center; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.cursos-tarjeta-imagen .entry-date span { display: block; margin-top: .25rem; font-size: .75rem; line-height: 1.3; }
.cursos-tarjeta .card-body { padding: 1rem 1.5rem 1.5rem; }
.cursos-tarjeta-etiquetas { display: flex; align-items: flex-start; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.cursos-tarjeta-estado { margin: 0; }
.cursos-tarjeta-modalidad { display: inline-block; padding: .375rem .625rem; border-radius: .25rem; font-size: .75rem; line-height: 1.5; color: #495057; background: #f0f2f4; }
.cursos-tarjeta-estado .badge { display: inline-block; padding: .375rem .625rem !important; font-size: .75rem; white-space: normal; line-height: 1.5; font-weight: 400; border-radius: .25rem; }
.cursos-tarjeta-estado .curso-estado-abierta { background-color: #e8f3ed !important; color: #276346 !important; }
.cursos-tarjeta-estado .curso-estado-cerrada { background-color: #fbe9eb !important; color: #922b38 !important; }
.cursos-listado .cursos-tarjeta-titulo { font-size: 1.125rem; line-height: 1.4; text-transform: none; margin-bottom: .75rem; }
.cursos-tarjeta-titulo a { color: var(--cnvs-heading-color); font-size: inherit; line-height: inherit; }
.cursos-tarjeta-titulo a:hover { color: var(--cnvs-themecolor); }
.cursos-tarjeta-datos { --cnvs-iconlist-margin: 0; --cnvs-iconlist-gutter: .5rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: .625rem 1rem; margin-bottom: 1rem; }
.cursos-listado .cursos-tarjeta-datos li { min-width: 0; margin: 0; align-items: flex-start; flex-wrap: nowrap; font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.cursos-tarjeta-datos li > span, .cursos-tarjeta-datos li > strong { min-width: 0; }
.cursos-tarjeta-datos i { color: var(--cnvs-themecolor); }
.cursos-tarjeta-resumen { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; font-size: .9375rem; line-height: 1.7; max-height: 6.8em; margin-bottom: .25rem; }
.cursos-tarjeta-ampliar { margin-bottom: .75rem; }
.cursos-tarjeta-acciones { display: flex; align-items: flex-start; justify-content: flex-start; padding-top: .75rem; }
.cursos-tarjeta .cursos-tarjeta-mas { display: inline-block; padding: .5rem 0; font-size: .875rem; font-weight: 700; line-height: 1.4; text-decoration: underline !important; text-underline-offset: 4px; color: var(--cnvs-themecolor); }
.cursos-tarjeta .cursos-tarjeta-inscripcion { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .625rem .875rem; border: 1px solid var(--cnvs-themecolor); border-radius: .375rem; background: var(--cnvs-themecolor); color: #fff; font-size: .875rem; font-weight: 700; line-height: 1.4; text-transform: none; letter-spacing: 0; text-decoration: none !important; white-space: nowrap; }
.cursos-tarjeta .cursos-tarjeta-inscripcion:hover { background: #013557; border-color: #013557; }
.cursos-tarjeta-inscripcion i { margin: 0; font-size: 1rem; }

/* Dos cursos conservan el ancho habitual y se centran; un único curso mantiene su ficha horizontal. */
.cursos-listado-dos { justify-content: center; }
@media (min-width: 768px) {
    .cursos-listado-uno > div { width: 100%; }
}
@media (min-width: 992px) {
    .cursos-listado-dos > div { width: 33.333333%; }
    .cursos-listado-uno .cursos-tarjeta { flex-direction: row; align-items: stretch; }
    .cursos-listado-uno .cursos-tarjeta-imagen { flex: 0 0 42%; align-self: flex-start; }
    .cursos-listado-uno .card-body { flex: 1 1 0; min-width: 0; padding: 1.5rem; }
}
